ホームページ  >  記事  >  バックエンド開発  >  PHP関数マニュアル array_filter()

PHP関数マニュアル array_filter()

PHPz
PHPzオリジナル
2023-06-20 11:39:107938ブラウズ

PHP 関数マニュアル array_filter()

PHP は優れたプログラミング言語として、非常に豊富な組み込み関数と外部拡張ライブラリのセットを備えています。配列は PHP において非常に一般的で重要なデータ型であるため、PHP 関数ライブラリには非常に豊富な演算関数の配列が含まれています。 array_filter() 関数は非常に実用的な関数の 1 つで、配列内の要素をフィルタリングするために使用できます。その使用法について詳しく見てみましょう。

1. 関数の概要

array_filter() 関数は、配列内の要素をフィルタリングするために使用される関数です。新しい配列を返します。新しい配列の要素は、次の要素で構成されます。元の配列要素は特定の条件に基づいてフィルタリングされます。公式ドキュメントの定義によると、その構文は次のとおりです。

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

このうち, $array はフィルタリングされた元の配列を意味し、$callback はオプションのコールバック関数パラメータ、$flag はオプションのマスク パラメータです。

2. 関数パラメータ

  1. $array

$array は、フィルタリングされる元の配列を表します。このパラメータは配列型である必要があります。このパラメータが配列でない場合は、空の配列が返されます。

    #$callback
$callback は、オプションのコールバック関数パラメータです。戻り値はブール型である必要があります。 $callback 関数が指定されていないか null の場合、array_filter() 関数は元の配列内のすべての要素が true 値であるかどうかを判断し、true の戻り値を持つ要素が新しい配列に収集されます。

    $flag
$flag は、オプションのマスク パラメーターです。 3 つの値を取ることができます:

    ARRAY_FILTER_USE_KEY - 値の代わりにキーをコールバック関数に渡します。
  • ARRAY_FILTER_USE_BOTH - キーの名前と値をコールバック関数に渡します。
  • デフォルト値は 0 です。これは、コールバック関数のみにデフォルトで値が渡されることを意味します。
3. 関数の戻り値

array_filter() 関数の戻り値は新しい配列です。新しい配列には、ソース配列の条件を満たす要素のみが含まれます。返された新しい配列が空の場合は、空の配列が返されます。

4. 関数の例

以下では、array_filter() 関数の使用法を示すためにいくつかの例を使用します。

    偶数をフィルタリングします
// 配列内の偶数をフィルタリングします

function filter_odd($var)
{

return ($var & 1) == 0;

}

$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
$filtered_arr = array_filter($arr, "filter_odd");
print_r($filtered_arr );

Output:

Array

(

[1] => 2
[3] => 4
[5] => 6
[7] => 8
[9] => 10

)

この例では、コールバック関数 filter_odd( ) 配列内の偶数をフィルターします。 array_filter() 関数を呼び出すときは、このコールバック関数を $callback パラメータとして渡します。この関数は、元の配列の偶数のみを含む新しい配列を返します。

    フィルタリングの Null 値
// 配列内の空でない要素をフィルタリングします

$arr = ["", "hello" 、NULL、" world"、false、0、[]、" "、"test"];
$filtered_arr = array_filter($arr);
print_r($filtered_arr);

出力:

Array

(

[1] => hello
[3] => world
[7] =>  
[8] => test

)

この例では、$callback パラメーターを指定せず、array_filter() 関数がすべての要素が配列内の値は true です。空の文字列、NULL、false、0、および空の配列はすべて false 値とみなされ、新しい配列には含まれません。

    配列内の 2 を超える長さの文字列を除外します
// 配列内の 2 を超える長さの文字列を除外します

$arr = ["php" , "html", "css", "js"];
$filtered_arr = array_filter($arr, function($var) {

return strlen($var) > 2;

});

print_r($filtered_arr);

出力:

Array

(

[0] => php
[1] => html
[2] => css

)

この例では、$flag を指定しませんでした。この関数は、文字列の長さが 2 より大きいかどうかを判断するために使用されます。この関数は、長さが 2 より大きい文字列のみを含む新しい配列を返します。

5. 概要

array_filter() 関数は、不要なデータを除外し、有用なデータのみを保持し、データをより合理化するのに役立つ非常に実用的な配列演算関数です。非常に便利で、一部の配列操作タスクを簡単に完了でき、PHP プログラムの開発効率が向上します。

以上がPHP関数マニュアル array_filter()の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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