SplObjectStorage::offsetGet()函式用於獲取儲存在SplObjectStorage物件中的指定物件的關聯資料。
用法:
public mixed SplObjectStorage::offsetGet ( object $object )
引數:
$object
:要獲取關聯資料的物件。
返回值:
- 返回與指定物件關聯的資料。如果物件不存在於SplObjectStorage中,則返回NULL。
示例:
// 建立一個SplObjectStorage物件
$storage = new SplObjectStorage();
// 建立兩個物件
$obj1 = new stdClass();
$obj2 = new stdClass();
// 將物件與資料關聯並儲存到SplObjectStorage中
$storage->attach($obj1, 'Data for obj1');
$storage[$obj2] = 'Data for obj2';
// 獲取關聯資料
echo $storage->offsetGet($obj1); // 輸出:Data for obj1
echo $storage[$obj2]; // 輸出:Data for obj2
// 嘗試獲取不存在的物件的關聯資料
echo $storage->offsetGet(new stdClass()); // 輸出:NULL
在上面的示例中,我們首先建立了一個SplObjectStorage物件,並建立了兩個stdClass物件$obj1和$obj2。然後,我們使用attach()方法和陣列索引語法將這兩個物件與關聯資料一起儲存在SplObjectStorage中。
最後,使用offsetGet()方法獲取$obj1物件的關聯資料,並使用陣列索引語法獲取$obj2物件的關聯資料。如果我們嘗試獲取一個不存在於SplObjectStorage中的物件的關聯資料,將返回NULL。