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

Why we use ArrayAccess::offsetUnset(), instead we can use unset() in php?

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

Note: This method will not be called when type-casting to (unset)

谁能告诉我们如何使用它,它是否自动从实现 ArrayAccess 接口的 class 中取消设置被调用的偏移量元素?

引用 link http://php.net/manual/en/arrayaccess.offsetunset.php.

谢谢!!!

调用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