函数名: WeakMap::offsetGet()
适用版本: PHP 8.1.0 及以上版本
用法: WeakMap::offsetGet() 函数用于获取指定键对应的值。
参数:
- key: 必需,要获取值的键
返回值:
- 返回与指定键关联的值。如果键不存在,则返回 null。
示例:
// 创建一个 WeakMap 对象
$weakMap = new WeakMap();
// 创建两个对象作为键
$obj1 = new stdClass();
$obj2 = new stdClass();
// 在 WeakMap 中设置键值对
$weakMap[$obj1] = 'Value 1';
$weakMap[$obj2] = 'Value 2';
// 获取键对应的值
$value1 = $weakMap->offsetGet($obj1);
$value2 = $weakMap->offsetGet($obj2);
echo $value1; // 输出: Value 1
echo $value2; // 输出: Value 2
注意事项:
- WeakMap 类是 PHP 8.1 引入的新特性,用于实现弱引用的键值对。
- WeakMap 对象的键必须是对象,而且会以弱引用的方式存储。这意味着,如果键对象没有其他引用,垃圾回收器可能会在适当的时候将其回收,进而导致键值对被删除。
- 如果使用 WeakMap::offsetGet() 获取一个不存在的键,将返回 null 值。因此,在使用返回值之前,应该进行判断以避免出现错误。