函数名:WeakMap::offsetSet()
适用版本:PHP 7.4.0 或更高版本
用法:WeakMap::offsetSet() 方法用于将一个键值对添加到 WeakMap 对象中。
语法:public void WeakMap::offsetSet(mixed $key, mixed $value)
参数:
- $key:要添加的键,可以是任何类型的值。
- $value:要添加的值,可以是任何类型的值。
返回值:无返回值。
示例:
// 创建一个 WeakMap 对象
$weakMap = new WeakMap();
// 添加键值对到 WeakMap
$object1 = new stdClass();
$object2 = new stdClass();
$weakMap->offsetSet($object1, 'Value 1');
$weakMap->offsetSet($object2, 'Value 2');
// 获取 WeakMap 中的值
echo $weakMap->offsetGet($object1); // 输出: Value 1
echo $weakMap->offsetGet($object2); // 输出: Value 2
注意事项:
- WeakMap 对象只能使用对象作为键,如果使用其他类型的值作为键,将会抛出 TypeError 异常。
- WeakMap 对象中的键是弱引用,如果键的引用被释放,该键值对将自动从 WeakMap 中移除。
- WeakMap 对象是无序的,不能像数组一样使用下标进行访问和修改。
- WeakMap 对象提供了 offsetExists() 和 offsetUnset() 方法用于检查键是否存在和移除键值对。
- WeakMap 对象不能被直接迭代,但可以使用 getIterator() 方法获取一个迭代器来遍历键值对。
更多关于 WeakMap::offsetSet() 方法的信息,请参考 PHP 官方文档:https://www.php.net/manual/en/weakmap.offsetset.php