인덱스 배열의 키를 기반으로 연관 배열 필터링
PHP에서 array_filter()는 인덱스 배열 기반의 연관 배열을 필터링하는 편리한 방법을 제공합니다. 그들의 가치에. 그러나 이 함수는 값만 고려하므로 프로그래머는 허용된 값 집합을 기반으로 키를 필터링하는 방법을 모색하게 됩니다. 이 질문은 이 문제를 해결합니다.
연관 배열($my_array)과 허용된 키의 인덱스 배열($allowed)이 주어지면 작업은 $allowed에 없는 $my_array의 모든 키를 제거하는 것입니다. 원하는 출력은 $allowed에서 키가 발견된 키-값 쌍만 포함하는 $my_array입니다.
해결책:
대답은 두 가지 배열 조작을 활용하는 것을 제안합니다. 함수:
이 두 기능을 결합하면 연관 배열을 다음과 같이 필터링할 수 있습니다. 다음은 다음과 같습니다.
$filtered_array = array_intersect_key($my_array, array_flip($allowed));
여기서 array_flip($allowed)는 $allowed의 값이 키가 되고, 키가 값이 되는 새 배열을 만듭니다. 그런 다음 array_intersect_key($my_array, ...)는 $my_array를 뒤집힌 배열과 비교하여 허용된 키만 키와 관련 값으로 포함된 배열을 반환합니다.
예:
제공된 예 사용:
$my_array = array("foo" => 1, "hello" => "world"); $allowed = array("foo", "bar");
결과 $filtered_array는 다음과 같습니다.
array("foo" => 1);
위 내용은 인덱스 배열의 키를 기반으로 PHP에서 연관 배열을 필터링하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!