« ArrayAccess::offsetExists
ArrayAccess::offsetSet »

ArrayAccess::offsetGet

(PHP 5, PHP 7, PHP 8)

ArrayAccess::offsetGet — オフセットを取得する

説明

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

指定したオフセットの値を返します。

このメソッドは、オフセットが empty() かどうかを調べる際に実行されます。

パラメータ

offset

取得したいオフセット。

戻り値

すべての型の値を返すことができます。

注意

注意:

このメソッドの実装で参照を返すことができます。 これにより、ArrayAccess オブジェクトのオーバーロードされた配列に対する間接的な変更ができます。

直接的な変更とは、$obj[6] = 7 のように配列のその次元の値を完全に置き換える変更のことです。 一方、間接的な変更とは、$obj[6][7] = 7 のようにその次元の一部分のみを変更したり $var =& $obj[6] のように他の変数に参照を代入したりする変更のことです。 ++ によるインクリメントや -- によるデクリメントもまた、ある意味では間接的な変更を要するものです。

直接的な変更の際には ArrayAccess::offsetSet() がコールされますが、間接的な変更の際には ArrayAccess::offsetGet() がコールされます。この場合は ArrayAccess::offsetGet() の実装が参照を返せるようにしておく必要があります。 そうしなければ E_NOTICE メッセージが発生します。

参考

関連キーワード:
ArrayAccess   オフセット   offsetGet   間接   offsetExists   offsetSet   mixed   offset   実装   直接的   次元   empty   オーバーロード   一部分   変数   代入   インクリメント   デクリメント   意味   メッセージ   参考
関連する関数・ページ:
arrayaccess.offsetset   arrayaccess.offsetexists   arrayaccess.offsetunset   class.arrayaccess   arrayiterator.offsetget   arrayiterator.offsetexists