【PHP8.x】offsetGetメソッドの使い方

offsetGetメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

『offsetGetメソッドは、RecursiveArrayIteratorオブジェクトに対して、指定されたキーに対応する値を取得するために実行するメソッドです』このメソッドは、PHPのArrayAccessインターフェースを実装するために定義されており、オブジェクトを配列のように角括弧[]でアクセスした際に内部的に呼び出されます。例えば、$iterator['some_key']というコードは、内部でこのoffsetGetメソッドを呼び出して'some_key'に対応する値を取得しています。そのため、開発者がこのメソッドを直接コーディングで呼び出すことは稀です。RecursiveArrayIteratorは配列を再帰的に走査するためのものですが、offsetGetによって、イテレータの現在の位置とは無関係に、内部で保持している配列の特定の要素へ直接アクセスすることが可能になります。引数として値を取得したい要素のキーを指定します。指定されたキーが存在すればその値が返され、存在しない場合は警告が発生し、nullが返されます。これにより、イテレーションの操作と配列としてのランダムアクセスを両立させることができます。

構文(syntax)

1<?php
2
3$user_profile = [
4    'id' => 101,
5    'name' => 'Taro',
6    'permissions' => ['read', 'write']
7];
8
9$iterator = new RecursiveArrayIterator($user_profile);
10
11// キー 'name' に対応する値を取得します。
12$name = $iterator->offsetGet('name');
13
14echo $name;
15
16?>

引数(parameters)

mixed $offset

  • mixed $offset: 配列のキーまたはインデックスを指定します

戻り値(return)

mixed

現在位置にある要素の値を取得します。