为什么我们使用 ArrayAccess :: offsetUnset()而我希望 unset()足以使用。但是php.net声明:
注意:当类型转换为(取消设置)
时,不会调用此方法
有人可以告诉我们如何使用它,是否会自动从实现 ArrayAccess 接口的类中取消设置被调用的偏移元素?
参考链接http://php.net/manual/en/arrayaccess.offsetunset.php。
谢谢!!!
答案 0 :(得分:4)
当offsetUnset()
函数中使用数组访问表达式时,调用unset()
方法:
unset($yourSpecialObject['abc']);
但是在以下陈述中没有调用它:
$yourSpecialObject['abc'] = null; // offsetSet() is called instead
$yourSpecialObject['abc'] = (unset)'abc'; // offsetSet() is called instead
(unset)$yourSpecialObject['abc']; // offsetGet() is called instead