in_array()를 사용한 다차원 배열 검색
in_array() 함수는 선형 배열 내에 값이 있는지 확인하는 데 탁월합니다. 그러나 다차원 배열의 경우 그 기능이 부족합니다. 이 기사에서는 다차원 시나리오에서 in_array()의 제한 사항을 자세히 살펴보고 재귀 솔루션을 소개합니다.
다차원 배열을 사용하는 in_array()의 제한 사항
$ a = array("맥", "NT", "아이릭스", "Linux");<br>if (in_array("Irix", $a)) echo "Irix를 얻었습니다"; // 작동합니다<br>
반대로 아래와 같이 다차원 배열에 in_array()를 적용하면 부정확한 결과가 나옵니다.
$b = array(array("Mac", "NT"), array("Irix", "Linux"));<br>if (in_array("Irix", $b)) echo "Irix를 얻었습니다"; // 실패<br>
다차원 배열 검색을 위한 재귀 솔루션
다차원 배열 내에서 값을 효과적으로 검색하기 위한 재귀 접근 방식은 다음과 같습니다. 필수의. 다음 코드 조각은 이 목적을 위한 사용자 정의 함수를 정의합니다.
<br>function in_array_r($needle, $haystack, $strict = false) {</p> <pre class="brush:php;toolbar:false">foreach ($haystack as $item) { if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) { return true; } } return false;
}
사용법
in_array_r() 함수는 다음과 같이 사용됩니다.
$b = array(array("Mac", "NT"), array("Irix", "Linux"));
echo in_array_r("Irix", $b) ? 'found' : 'notfound';
이 솔루션을 사용하면 다차원 배열 내의 값에 대한 효율적이고 정확한 검색 작업이 가능합니다.
위 내용은 PHP에서 다차원 배열의 값을 효과적으로 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!