PHPのarray_find
関数について書いています。
PHP 8.4 以降でarray_find
関数が導入されました。
この関数は、コールバック関数を使用して配列の要素を検索し、条件を満たす最初の要素を返します。
この記事ではarray_find
関数の基本的な使い方から、サンプルコードを交えて解説します。
array_find関数の基本的な使い方
array_find
関数は、コールバック関数を使用して配列の要素を検索し、条件を満たす最初の要素を返します。
基本的な構文は以下のとおりです。
array_find(array $array, callable $callback): mixed
$array
: 検索対象の配列。- 任意の型の値を要素とする配列を指定します。
$callback
: コールバック関数。- 各要素を引数として受け取り、検索条件に応じて
true
またはfalse
を返す関数を指定します。
- 各要素を引数として受け取り、検索条件に応じて
array_find関数の戻り値
array_find
関数の戻り値は、条件を満たす最初の要素です。
条件を満たす要素が見つからなかった場合は null
を返します。
数値配列を検索する
数値配列から、3より大きい要素を取得します。
<?php
$array = [1, 2, 3, 4, 5];
$result = array_find($array, function ($value) {
return $value > 3;
});
print_r($result); // 結果:4
?>
最初に数値配列の$array
を作っています。
その次の処理で、array_find
関数を使って$array
配列から「3
」より大きい最初の要素を検索しています。
第2引数のコールバック引数に配列の値がひとつずつ渡されて確認されます。
要素が「3
」より大きい場合にtrue
となり、その時点の要素が返ってきます。
結果を確認すると、「4
」が返ってきていることが確認できます。
文字列配列を検索する
文字列配列から、指定した文字列を含む要素を取得します。
<?php
$fruits = ['orange', 'apple', 'banana', 'peach', 'grape'];
$result = array_find($fruits, function ($value) {
return strstr($value, 'nana');
});
print_r($result); // 結果:banana
?>
最初に文字列配列の$fruits
を作成しています。
次の処理でarray_find
関数を使っています。
コールバック関数の処理で、strstr
関数を使って文字列に「nana
」が含まれている場合はtrue
としています。
そうすると、「banana
」のときにtrue
になって、文字列要素が返ってきます。
array_find関数を使うメリット
array_find
関数を使う主なメリットは以下のとおりです。
- 配列から特定の条件に合致する最初の要素を簡単に検索できます。
- ループ処理を記述する必要がなく、コードが簡潔になります。
- コードの意図が明確になり、可読性が向上します。
PHPのarray_find関数の使い方まとめ
今回は PHP の array_find
関数の使い方について解説しました。
この記事の内容をまとめます。
・`$array` は検索対象の配列。
・`$callback` はコールバック関数。
・配列から特定の条件に合致する最初の要素を検索する場合に便利。
コメント