ArrayAccess::offsetGet

(PHP 5, PHP 7, PHP 8)

ArrayAccess::offsetGetPosição a ser obtida

Descrição

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.

Valor Retornado

Pode retornar valores de qualquer tipo.

Notas

Nota:

É 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.

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