ArrayAccess::offsetGet
(PHP 5 >= 5.0.0, PHP 7)
ArrayAccess::offsetGet — Возвращает заданное смещение (ключ)
Описание
Возвращает заданное смещение (ключ).
Данный метод исполняется, когда проверяется смещение (ключ) на пустоту с помощью функции empty().
Список параметров
-
offset
-
Смещение (ключ) для возврата.
Примечания
Замечание:
Начиная с PHP 5.3.4, смягчена проверка для прототипа метода, и возможна реализация данного метода с возвращением по ссылке. Это делает возможным косвенную модификацию для величин массива перегруженного объекта ArrayAccess.
Явная модификация - это такая модификация, при которой полностью заменяется значение величины массива, как в случае $obj[6] = 7. С другой стороны, при косвенной модификации заменяется только часть величины, или происходит попытка присвоения величины по ссылке другой переменной, как в случае $obj[6][7] = 7 или $var =& $obj[6]. Увеличение с использованием оператора ++ и уменьшение с использованием оператора -- так же реализуются с помощью способа, который требует косвенную модификацию.
В то время как, явная модификация запускает вызов метода ArrayAccess::offsetSet(), косвенная модификация запускает вызов метода ArrayAccess::offsetGet(). В таком случае, реализация метода ArrayAccess::offsetGet() должна быть в состоянии возвращать результат по ссылке, в противном случае будет поднято сообщение об ошибке уровня
E_NOTICE
.
Возвращаемые значения
Может возвращать значение любого типа.
Коментарии
As of PHP 7, offsetExists($offset) must return a TRUE value in order for offsetGet($offset) to be called, otherwise offsetGet($offset) will just return NULL. This was not the case in PHP 5, so if your code suddenly stops working upon upgrade to PHP 7, make sure offsetExists() returns sensible values.