Почему мы используем ArrayAccess :: offsetUnset (), вместо этого мы можем использовать unset () в php?

Почему мы используем ArrayAccess :: offsetUnset () вместо этого я надеюсь снята с охраны () достаточно использовать. Но php.net заявил, что:

Примечание: этот метод не будет вызываться при приведении типа к (unset)

Может кто-нибудь сказать, как мы его используем, автоматически ли он отменяет вызываемый элемент смещения из класса, который реализует ArrayAccess интерфейс?

Ссылка ссылка http://php.net/manual/en/arrayaccess.offsetunset.php.

Спасибо !!!

2

Решение

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
4

Другие решения

Других решений пока нет …