ホームページ  >  記事  >  バックエンド開発  >  値に基づいて 2 次元配列をフィルタリングする PHP 関数を作成するにはどうすればよいですか?

値に基づいて 2 次元配列をフィルタリングする PHP 関数を作成するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-27 05:44:11672ブラウズ

How Can I Create a PHP Function to Filter a Two-Dimensional Array Based on Value?

2 次元配列の値ベースのフィルタリング関数の作成

多次元配列からの特定のデータのフィルタリングは、プログラミング。このタスクは、PHP の array_filter 関数などのさまざまな手法を使用して実行できます。

関数の作成

値で 2 次元配列をフィルターする関数を作成するには、次の手順に従います。手順:

  1. 入力配列を
  2. 2 番目のパラメータとして匿名関数またはコールバック関数を指定して array_filter を使用します。
  3. コールバック関数内で、条件付きロジックを使用してフィルタリング基準を指定します。

実装例

以下を考慮してください配列:

$arr = [
    [
        'interval' => '2014-10-26',
        'leads' => 0,
        'name' => 'CarEnquiry',
        'status' => 'NEW',
        'appointment' => 0
    ],
    [
        'interval' => '2014-10-26',
        'leads' => 0,
        'name' => 'CarEnquiry',
        'status' => 'CALL1',
        'appointment' => 0
    ],
    [
        'interval' => '2014-10-26',
        'leads' => 0,
        'name' => 'Finance',
        'status' => 'CALL2',
        'appointment' => 0
    ],
    [
        'interval' => '2014-10-26',
        'leads' => 0,
        'name' => 'Partex',
        'status' => 'CALL3',
        'appointment' => 0
    ]
];

「name」キーに「CarEnquiry」を含む値の配列をフィルタリングするには:

function filterArrayByName($arr) {
    return array_filter($arr, function($var) {
        return $var['name'] == 'CarEnquiry';
    });
}

カスタマイズ可能なフィルタリング

検索値を交換可能にするには、コールバック関数を次のように変更します。

function filterArrayByName($arr, $filterBy) {
    return array_filter($arr, function($var) use ($filterBy) {
        return $var['name'] == $filterBy;
    });
}

これで、関数を使用して、'name' キーの任意の値で配列をフィルターできるようになります。

以上が値に基づいて 2 次元配列をフィルタリングする PHP 関数を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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