ホームページ > バックエンド開発 > PHPチュートリアル > PHP で特定のキーの値に基づいて 2 次元配列をフィルタリングするにはどうすればよいですか?

PHP で特定のキーの値に基づいて 2 次元配列をフィルタリングするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-02 10:55:11
オリジナル
206 人が閲覧しました

How Can I Filter a Two-Dimensional Array in PHP Based on a Specific Key's Value?

特定の値による 2 次元配列のフィルタリング

特定の値による多次元配列のフィルタリングは、さまざまなプログラミング手法を使用して実行できます。 。 PHP では、array_filter 関数がこれを実現する便利な方法を提供します。

特定のキー値による 2 次元配列のフィルタリング

2 次元配列をフィルタするには、特定の値で次元配列を取得するには、array_filter 関数をコールバック関数とともに使用できます。コールバック関数は、配列の各要素を評価し、必要な条件を満たしている場合に true を返す必要があります。

たとえば、値が 'CarEnquiry の 'name' キーでフィルタリングする、指定された配列を考えてみましょう。 ':

$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
    ]
];
ログイン後にコピー

次のコード スニペットは、配列をフィルタリングする方法を示しています。

$new = array_filter($arr, function ($var) {
    return ($var['name'] == 'CarEnquiry');
});
ログイン後にコピー

この場合、コールバック関数 ($var['name'] == 'CarEnquiry') は、各配列要素の 'name' 値が 'CarEnquiry' と等しいかどうかをチェックします。 true の場合、要素はフィルタリングされた配列 ($new) に含まれます。

交換可能な値によるフィルタリング

フィルタ値を交換可能にする必要がある場合は、次のようにします。 「CarEnquiry」または「Finance」のように、コールバックにわずかな変更を加えることができます。 function:

$filterBy = 'CarEnquiry'; // or Finance etc.

$new = array_filter($arr, function ($var) use ($filterBy) {
    return ($var['name'] == $filterBy);
});
ログイン後にコピー

$filterBy 変数を導入すると、フィルター条件が動的になり、必要に応じてさまざまな値によるフィルター処理が可能になります。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート