牛牛在线工具

WeakReference::get()

收录 8868 个 PHP 函数,含用途说明与用法示例。

WeakReference::get()

获取弱引用所引用的对象

函数名称:WeakReference::get() 函数描述:该函数用于获取弱引用所引用的对象。 函数参数:无 函数返回值:如果弱引用仍然有效,则返回被引用的对象;如果对象已经被销毁或者引用无效,则返回NULL。 适用版本:PHP 7.4.0 及以上版本。 示例用法: class MyClass { public function __destruct() { echo "MyClass对象已被销毁\n"; } } $obj = new MyClass(); $weakRef = WeakReference::create($obj); // 获取弱引用所引用的对象 $retrievedObj = $weakRef->get(); if ($retrievedObj === null) { echo "对象已被销毁\n"; } else { echo "对象仍然存在\n"; // 执行一些操作 } unset($obj); // 销毁原对象 // 再次尝试获取弱引用所引用的对象 $retrievedObj = $weakRef->get(); if ($retrievedObj === null) { echo "对象已被销毁\n"; } else { echo "对象仍然存在\n"; // 执行一些操作 } 输出结果: 对象仍然存在 MyClass对象已被销毁 对象已被销毁 上述示例中,我们首先创建一个MyClass对象,并使用WeakReference::create()函数创建一个弱引用。然后,通过WeakReference::get()函数获取弱引用所引用的对象。如果对象仍然存在,则输出"对象仍然存在";否则,输出"对象已被销毁"。 接着,我们使用unset()函数销毁原对象。再次调用WeakReference::get()函数时,由于原对象已被销毁,将返回NULL,输出"对象已被销毁"。 请注意,WeakReference类只在PHP 7.4.0及以上版本中可用。在较早的版本中,您可以考虑使用SplObjectStorage类来实现类似的功能。