为什么我们使用ArrayAccess :: offsetUnset(),而我们可以在php中使用unset()?

时间:2017-10-08 07:23:18

标签: php arrayaccess

为什么我们使用 ArrayAccess :: offsetUnset()而我希望 unset()足以使用。但是php.net声明:

  

注意:当类型转换为(取消设置)

时,不会调用此方法

有人可以告诉我们如何使用它,是否会自动从实现 ArrayAccess 接口的类中取消设置被调用的偏移元素?

参考链接http://php.net/manual/en/arrayaccess.offsetunset.php

谢谢!!!

1 个答案:

答案 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