查詢

SplObjectStorage::key()函式—用法及示例

「 獲取當前迭代器指向的元素的鍵 」


SplObjectStorage::key()函式用於獲取當前迭代器指向的元素的鍵。

用法:

SplObjectStorage::key(): mixed

引數:無

返回值:

  • 如果當前迭代器指向的元素存在鍵,則返回該鍵;
  • 如果當前迭代器指向的元素沒有鍵(例如使用add()方法新增元素時沒有指定鍵),則返回null。

示例:

// 建立一個SplObjectStorage物件
$storage = new SplObjectStorage();

// 建立兩個物件
$obj1 = new stdClass();
$obj2 = new stdClass();

// 將物件新增到SplObjectStorage中
$storage->attach($obj1);
$storage->attach($obj2);

// 使用foreach迴圈遍歷SplObjectStorage物件
foreach ($storage as $obj) {
    // 獲取當前元素的鍵
    $key = $storage->key();
    
    // 輸出鍵和對應的物件
    echo "鍵: " . ($key !== null ? $key : "(無)") . "\n";
    echo "物件: " . var_export($obj, true) . "\n";
}

輸出:

鍵: (無)
物件: stdClass::__set_state(array())
鍵: (無)
物件: stdClass::__set_state(array())

在上面的示例中,我們建立了一個SplObjectStorage物件,並向其新增了兩個物件。然後,使用foreach迴圈遍歷SplObjectStorage物件,並透過SplObjectStorage::key()函式獲取當前元素的鍵。由於我們沒有為物件指定鍵,所以返回的鍵為null。

補充糾錯
熱門PHP函式
分享連結