PHPのarray_findの使い方!配列の要素を探す

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_find(array $array, callable $callback): mixed` で配列の要素を検索する。
・`$array` は検索対象の配列。
・`$callback` はコールバック関数。
・配列から特定の条件に合致する最初の要素を検索する場合に便利。
PHP

コメント