ArrayAccess::offsetGet

(PHP 5, PHP 7, PHP 8)

ArrayAccess::offsetGetOffset para recuperar

Descripción

abstract public ArrayAccess::offsetGet(mixed $offset): mixed

Devuelve el valor correspondiente a desplazamiento especificado.

Este método se ejecuta para comprobar si el desplazamiento es empty().

Parámetros

offset

El desplazamiento va a recuperar.

Notas

Nota:

A partir de PHP 5.3.4, el prototipo de los controles se relajaron y es posible para las implementaciones de este método para devolver por referencia. Esto hace que las modificaciones indirectas a las dimensiones de los arreglos sobrecargados de objetos ArrayAccess posibles.

Una modificación directa es aquella que reemplaza completamente el valor de la dimensión de el arreglo, como en $obj[6] = 7. Una modificación indirecta, por el contrario, sólo una parte los cambios de la dimensión, o los intentos de asignar la dimensión en función de otra variable, como en $obj[6][7] = 7 o $var =& $obj[6]. Con incrementos ++ y disminye con -- también se aplican de una manera que requiere la modificación indirecta.

Si bien la modificación directa desencadena una llamada a ArrayAccess::offsetSet(), modificación indirecta provoca una llamada a ArrayAccess::offsetGet(). En ese caso, la aplicación de ArrayAccess::offsetGet() debe ser capaz de volver por la referencia, de lo contrario un E_NOTICE mensaje es elevado..

Valores devueltos

Puede devolver todos los tipos de valor.

Ver también

add a note add a note

User Contributed Notes 1 note

up
0
Martin Q
4 years ago
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.
To Top