ArrayAccess::offsetGet

(PHP 5, PHP 7, PHP 8)

ArrayAccess::offsetGetPosição a ser obtida

Descrição

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

Retorna o valor de uma posição específica.

Este método é executado ao checar se uma posição está vazia, com a função empty().

Parâmetros

offset

A posição a ser obtida.

Notas

Nota:

A partir do PHP 5.3.4, a checagem do protótipo é feita de forma relaxada e é possível para implementações deste método serem retornadas por referência. Isso modifica indiretamente a sobrecarga de dimensões do array de objetos ArrayAccess possíveis.

Uma modificação direta é aquela que substitui completamente o valor de uma dimensão do array, como em $obj[6] = 7. Uma modificação indireta, por outro lado, modifica somente parte da dimensão, ou tenta atribuir a dimensão por referência a outra variável, como em $obj[6][7] = 7 ou $var =& $obj[6]. Incrementos com ++ e decrementos com -- também são implementados de forma a exigirem modificações indiretas.

Enquanto uma modificação direta engatilha uma chamada ao método ArrayAccess::offsetSet(), uma modificação indireta engatilha uma chamada ao ArrayAccess::offsetGet(). Neste caso, a implementação do método ArrayAccess::offsetGet() deve permitir o retorno por referência, caso contrário uma mensagem E_NOTICE será disparada.

Valor Retornado

Retorna todos os tipos de valores.

Veja Também

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