【PHP8.x】keyメソッドの使い方
keyメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
『keyメソッドは、RecursiveIteratorIteratorが現在指し示している要素のキーを取得するメソッドです。RecursiveIteratorIteratorは、多次元配列やディレクトリ構造のような階層を持つデータ構造を、順番に一つずつ処理するために用いられます。このイテレータをループ処理(例えばforeach文)で使用する際、現在の要素の値はcurrent()メソッドで取得できますが、その要素に対応するキーが必要になる場合があります。そのような時にkey()メソッドを呼び出すと、現在処理対象となっている要素のキーが返されます。例えば、処理対象が多次元配列であれば、現在の要素の配列キー(整数インデックスまたは文字列キー)が取得できます。このメソッドは、foreach ($iterator as $key => $value)という構文における$keyの部分に相当する値を取得する役割を持ちます。通常、valid()メソッドでイテレータが有効な位置を指していることを確認した後に呼び出します。』
構文(syntax)
1<?php 2 3// 多次元配列を定義します 4$array = [ 5 'fruit' => 'apple', 6 'vegetable' => [ 7 'green' => 'spinach', 8 'red' => 'tomato' 9 ], 10 'grain' => 'rice' 11]; 12 13// 再帰的なイテレータを作成します 14$iterator = new RecursiveIteratorIterator( 15 new RecursiveArrayIterator($array) 16); 17 18// イテレータをループ処理し、各要素のキーを取得します 19foreach ($iterator as $value) { 20 // key() メソッドで現在の要素のキーを取得し、値と共に出力します 21 echo $iterator->key() . " => " . $value . PHP_EOL; 22}
引数(parameters)
引数なし
引数はありません
戻り値(return)
mixed
現在のイテレータのキーを返します。