【PHP8.x】keyメソッドの使い方
keyメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
keyメソッドは、RecursiveArrayIteratorが現在指している配列要素のキーを取得するメソッドです。多次元配列を再帰的に反復処理する際、このメソッドを呼び出すと、その時点での要素に対応するキーが返されます。例えば、配列が['apple', 'orange']のような数値添字配列の場合、キーは0や1といった整数値になります。一方で、['fruit' => 'apple', 'color' => 'red']のような連想配列の場合は、'fruit'や'color'といった文字列がキーとして返されます。この動作は、foreachループ構文におけるforeach ($array as $key => $value)の$keyに相当する値を取得する機能と考えることができます。current()メソッドが要素の値そのものを返すのに対し、key()メソッドは、その値にアクセスするための識別子であるキーを返すという点で対になります。イテレーターが有効な位置を指していない、つまり配列の末尾を超えているような場合には、このメソッドはnullを返します。
構文(syntax)
1<?php 2// サンプルとなる多次元配列 3$userProfile = [ 4 'name' => 'Taro Yamada', 5 'contact' => [ 6 'email' => 'taro@example.com', 7 'phone' => '090-1234-5678' 8 ], 9 'interests' => ['Programming', 'Reading', 'Hiking'] 10]; 11 12// RecursiveArrayIteratorのインスタンスを生成 13$iterator = new RecursiveArrayIterator($userProfile); 14 15// イテレータをループ処理 16while ($iterator->valid()) { 17 // 現在の要素のキーを取得して表示 18 echo $iterator->key() . PHP_EOL; 19 20 // 次の要素へ移動 21 $iterator->next(); 22} 23 24/* 25出力結果: 26name 27contact 28interests 29*/
引数(parameters)
引数なし
引数はありません
戻り値(return)
string|int|null
現在の配列要素のキーを返します。キーは文字列または整数であり、要素が存在しない場合は null を返します。