函数名称:WeakMap::offsetUnset()
适用版本:PHP 7.4.0 及以上版本
函数描述: WeakMap::offsetUnset() 方法用于从 WeakMap 对象中移除指定的键值对。
用法:
void WeakMap::offsetUnset( mixed $key )
参数:
- $key: 要移除的键名。
示例:
// 创建一个 WeakMap 对象
$weakMap = new WeakMap();
// 创建两个对象作为键名
$obj1 = new stdClass();
$obj2 = new stdClass();
// 将对象作为键名和对应的值存入 WeakMap
$weakMap[$obj1] = "Value 1";
$weakMap[$obj2] = "Value 2";
// 输出 WeakMap 的初始状态
var_dump($weakMap);
/*
Output:
object(WeakMap)#1 (2) {
[0]=>
object(stdClass)#2 (0) {
}
[1]=>
object(stdClass)#3 (0) {
}
}
*/
// 移除键名为 $obj1 的键值对
$weakMap->offsetUnset($obj1);
// 输出移除后的 WeakMap 状态
var_dump($weakMap);
/*
Output:
object(WeakMap)#1 (1) {
[1]=>
object(stdClass)#3 (0) {
}
}
*/
在上面的示例中,我们首先创建了一个 WeakMap 对象,并使用两个对象作为键名,将它们与对应的值存入 WeakMap。然后,使用 offsetUnset()
方法移除了键名为 $obj1
的键值对。最后,通过 var_dump()
函数输出了移除后的 WeakMap 对象状态。可以看到,键名为 $obj1
的键值对已被成功移除。