PHP에서 2차원 배열을 값으로 효율적으로 필터링
PHP 프로그래밍에서 특정 값으로 2차원 배열을 효율적으로 필터링 다용도 array_filter 함수와 함께 사용하여 달성할 수 있습니다. callback.
단일 값으로 단순 필터링
키의 특정 값으로 배열을 필터링하려면 다음 구문을 사용할 수 있습니다.
$new = array_filter($arr, function ($var) { return ($var['name'] == 'CarEnquiry'); });
여기서 $arr는 입력 배열이고 콜백 함수는 각 하위 배열의 name 키가 대상 값과 일치하는지 확인합니다. 결과 $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 중국어 웹사이트의 기타 관련 기사를 참조하세요!