ArrayAccess::offsetGet

(PHP 5, PHP 7)

ArrayAccess::offsetGetOffset do pobrania

Opis

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

Zwraca wartość dla podanego offsetu.

Ta metoda jest wykonywana podczas sprawdzania offsetu za pomocą empty().

Parametry

offset

Offset do pobrania.

Notatki

Informacja:

Począwszy od PHP 5.3.4 sprawdzenia prototypu są luźniejsze i możliwe jest, aby implementacje tej metody zwracały wartość przez referencję. To sprawia że pośrednie zmiany do przeciążonych wymiarów tablic obiektów ArrayAccess są możliwe.

Modyfikacja bezpośrednia to taka, która całkowicie zastępuje wartość wymiaru tablicy, na przykład $obj[6] = 7. Zaś modyfikacja pośrednia zmienia tylko część wymiaru lub próbuje przypisać wymiar przez referencję, do innej zmiennej, na przykład $obj[6][7] = 7 lub $var =& $obj[6]. Implementacja za pomocą ++ i dekrementacja przez -- zostały również zaimplementowane w sposób, który wymaga modyfikacji pośredniej.

Modyfikacja bezpośrednia powoduje wywołanie metody ArrayAccess::offsetSet(), zaś pośrednia wywołanie ArrayAccess::offsetGet(). W takim wypadku implementacja ArrayAccess::offsetGet() musi być zdolna do zwracania przez referencję, w przeciwnym wypadku zostanie wygenerowany E_NOTICE.

Zwracane wartości

Może zwrócić wartość dowolnego typu.

Zobacz też:

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