ホームページ >バックエンド開発 >PHPチュートリアル >PHP array_filter() を使用して配列をフィルタリングする

PHP array_filter() を使用して配列をフィルタリングする

WBOY
WBOYオリジナル
2023-06-27 11:37:171632ブラウズ

PHP では、array_filter() 関数を使用すると、配列内の要素をすばやくフィルタリングできます。この記事では、この機能の使い方と関連事例を紹介します。

array_filter() 関数の基本構文は次のとおりです。

array_filter(array $array [, callable $callback [, int $flag ]])

このうち、$array パラメータはフィルタリングされる配列、$callback パラメータはオプションのコールバック関数、 $flag パラメータは、コールバック関数の戻り値の処理方法を決定するオプションの Selected フラグです。

これらのパラメーターを 1 つずつ説明しましょう:

  1. $array: フィルター処理される配列は配列型である必要があります。
  2. $callback: オプションのコールバック関数。指定しない場合、値が false の要素は自動的に除外されます。コールバック関数の形式は function ($value) です。$value は配列要素の値です。コールバック関数が true を返す場合、要素は保持されます。それ以外の場合、要素は削除されます。
  3. $フラグ: コールバック関数の戻り値の処理方法を指定するために使用されます。デフォルトでは、array_filter() 関数は戻り値が false、null、または空の文字列である要素を無視します。 $flag パラメータが ARRAY_FILTER_USE_BOTH として指定されている場合、キー名がコールバック関数に渡されます。

いくつかの例を見てみましょう:

  1. 配列内の null 値と false 値をフィルターで除外します:
$array = array('foo', false, -1, null, '', 0);

$result = array_filter($array);

print_r($result);

出力結果:

Array
(
    [0] => foo
    [2] => -1
)
  1. 配列内の 10 未満の数値をフィルターで除外:
$array = array(1, 20, 3, 40, 5, 60, 7, 80, 9);

$result = array_filter($array, function($value) {
    return $value > 10;
});

print_r($result);

出力結果:

Array
(
    [1] => 20
    [3] => 40
    [5] => 60
    [7] => 80
)
  1. 配列内のすべての奇数をフィルターで除外します:
$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

$result = array_filter($array, function($value) {
    return $value % 2 == 0;
});

print_r($result);

出力結果:

Array
(
    [1] => 2
    [3] => 4
    [5] => 6
    [7] => 8
    [9] => 10
)
  1. 偶数のキー名を持つ要素を配列内に保持します:
$array = array(0 => 'foo', 1 => 'bar', 2 => 'baz', 3 => 'qux');

$result = array_filter($array, function($value, $key) {
    return $key % 2 == 0;
}, ARRAY_FILTER_USE_BOTH);

print_r($result);

出力結果:

Array
(
    [0] => foo
    [2] => baz
)

要約すると、array_filter() 関数は、配列内の要素を迅速にフィルタリングし、コードの複雑さと作業負荷を軽減するのに役立つ非常に実用的な関数です。コールバック関数を自由に使用して、必要に応じてさまざまなフィルタリング関数を実装できます。

以上がPHP array_filter() を使用して配列をフィルタリングするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。