【PHP8.x】ARRAY_FILTER_USE_KEY定数の使い方
ARRAY_FILTER_USE_KEY定数の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
ARRAY_FILTER_USE_KEY定数は、PHPの配列をフィルタリングする際に利用される定数です。これは、array_filter()関数に適用され、フィルタリングの基準として配列の「キー」を使用することを指定します。
通常、array_filter()関数は、配列の各要素の「値」をコールバック関数に渡し、そのコールバック関数の戻り値(真偽値)に基づいて要素を残すかどうかを判断します。しかし、このARRAY_FILTER_USE_KEY定数をarray_filter()関数の第三引数であるmodeパラメータに指定すると、コールバック関数には配列の「値」ではなく「キー」が引数として渡されるようになります。これにより、配列のキーに基づいて条件を評価し、フィルタリングを行うことが可能になります。
例えば、特定の文字列を含むキーを持つ要素のみを抽出したい場合や、キーが特定の数値範囲内にある要素を対象としたい場合などに非常に有効です。ARRAY_FILTER_USE_KEYを用いることで、配列の構造を意識したより柔軟なデータ操作を実現できます。キーと値の両方を参照してフィルタリングを行いたい場合には、ARRAY_FILTER_USE_BOTH定数を使用します。このように、array_filter()関数は、これらの定数を用いることで様々なフィルタリングのニーズに応えることができます。
構文(syntax)
1<?php 2$data = [ 3 'id_1' => 'Apple', 4 'id_2' => 'Banana', 5 'name_3' => 'Cherry', 6 'id_4' => 'Date' 7]; 8 9$filteredData = array_filter( 10 $data, 11 fn($key) => str_starts_with($key, 'id'), 12 ARRAY_FILTER_USE_KEY 13); 14 15print_r($filteredData);
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません