English | 简体中文 | 繁體中文
查询

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函数
分享链接