PHP での値による 2 次元配列の効率的なフィルター処理
PHP プログラミングで、特定の値による 2 次元配列の効率的なフィルター処理汎用性の高い array_filter 関数と、 callback.
単一値による単純なフィルタリング
キー内の特定の値で配列をフィルタリングするには、次の構文を使用できます:
$new = array_filter($arr, function ($var) { return ($var['name'] == 'CarEnquiry'); });
ここで、$arr は入力配列であり、コールバック関数は各サブ配列の名前キーがターゲットと一致するかどうかをチェックします。 価値。結果の $new 配列には、名前が 'CarEnquiry' と等しいサブ配列のみが含まれます。
複数の値の交換可能なフィルタリング
ターゲット値が異なる場合は、次のことが可能です。交換可能なフィルタリングを処理するためにコールバック関数を強化します:
$filterBy = 'CarEnquiry'; // or Finance etc. $new = array_filter($arr, function ($var) use ($filterBy) { return ($var['name'] == $filterBy); });
コールバック内の use キーワード関数を使用すると、$filterBy 変数にアクセスできます。これを変更してさまざまなターゲット値を指定し、動的フィルタリングを可能にします。
使用例
次の配列を例:
$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 ] ];
名前が「CarEnquiry」の結果と等しいエントリのみを含めるように $arr をフィルタリングするin:
$filtered = array_filter($arr, function ($var) { return ($var['name'] == 'CarEnquiry'); });
結果の $filtered 配列には次のものが含まれます:
Array ( [0] => Array ( [interval] => 2014-10-26 [leads] => 0 [name] => CarEnquiry [status] => NEW [appointment] => 0 ) [1] => Array ( [interval] => 2014-10-26 [leads] => 0 [name] => CarEnquiry [status] => CALL1 [appointment] => 0 ) )
以上がPHP で 2 次元配列を特定の値で効率的にフィルタリングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。