ArrayAccess::offsetGet
オフセットを取得する
&reftitle.description;
public mixedArrayAccess::offsetGet
mixedoffset
指定したオフセットの値を返します。
このメソッドは、オフセットが empty かどうかを調べる際に実行されます。
&reftitle.parameters;
offset
取得したいオフセット。
&reftitle.returnvalues;
すべての型の値を返すことができます。
&reftitle.notes;
このメソッドの実装で参照を返すことができます。
これにより、ArrayAccess
オブジェクトのオーバーロードされた配列に対する間接的な変更ができます。
直接的な変更とは、$obj[6] = 7
のように配列のその次元の値を完全に置き換える変更のことです。
一方、間接的な変更とは、$obj[6][7] = 7
のようにその次元の一部分のみを変更したり $var =& $obj[6]
のように他の変数に参照を代入したりする変更のことです。
++ によるインクリメントや --
によるデクリメントもまた、ある意味では間接的な変更を要するものです。
直接的な変更の際には ArrayAccess::offsetSet
がコールされますが、間接的な変更の際には
ArrayAccess::offsetGet がコールされます。この場合は
ArrayAccess::offsetGet
の実装が参照を返せるようにしておく必要があります。
そうしなければ E_NOTICE メッセージが発生します。
&reftitle.seealso;
ArrayAccess::offsetExists