查询

WeakMap::getIterator()函数—用法及示例

「 获取 WeakMap 对象的迭代器 」


函数名:WeakMap::getIterator()

适用版本:PHP 8.1.0 及以上版本

用法:WeakMap::getIterator() 方法用于获取 WeakMap 对象的迭代器。迭代器可以用于遍历 WeakMap 对象中的所有键值对。

示例:

// 创建一个 WeakMap 对象
$map = new WeakMap();

// 定义几个对象作为键和值
$key1 = new stdClass();
$value1 = "Value 1";
$key2 = new stdClass();
$value2 = "Value 2";

// 将对象作为键和值添加到 WeakMap 对象中
$map[$key1] = $value1;
$map[$key2] = $value2;

// 获取 WeakMap 对象的迭代器
$iterator = $map->getIterator();

// 使用 foreach 循环遍历迭代器获取键值对
foreach ($iterator as $key => $value) {
    echo "Key: " . spl_object_id($key) . ", Value: " . $value . "\n";
}

// 输出结果:
// Key: 1, Value: Value 1
// Key: 2, Value: Value 2

在上面的示例中,我们首先创建了一个 WeakMap 对象 $map。然后,我们创建了两个对象 $key1$key2,以及对应的值 $value1$value2。接下来,我们将这些对象作为键和值添加到 WeakMap 对象中。

然后,我们使用 $map->getIterator() 方法获取 WeakMap 对象的迭代器 $iterator。通过使用 foreach 循环遍历迭代器,我们可以获取 WeakMap 对象中的每个键值对。在循环中,我们使用 spl_object_id() 函数获取对象的唯一标识符,并将键和值输出到控制台。

最后,输出结果显示了 WeakMap 对象中的键值对,其中键的标识符为 1 和 2,值分别为 "Value 1" 和 "Value 2"。

补充纠错
上一个函数: WeakMap::offsetExists()函数
下一个函数: WeakMap::count()函数
热门PHP函数
分享链接