特定の値による多次元配列のフィルタリングは、さまざまなプログラミング手法を使用して実行できます。 。 PHP では、array_filter 関数がこれを実現する便利な方法を提供します。
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 サイトの他の関連記事を参照してください。