in_array() 함수는 배열에 값이 존재하는지 확인하는 편리한 도구입니다. 그러나 그 유용성은 1차원 배열에만 적용됩니다. 다차원 배열을 처리할 때는 다른 접근 방식이 필요합니다.
다차원 배열에 값이 존재하는지 확인하려면 재귀 함수를 사용할 수 있습니다. 다음은 그러한 함수의 예입니다.
def in_array_r(needle, haystack, strict = False): for item in haystack: if ((strict ? item === needle : item == needle) or (is_array(item) && in_array_r(needle, item, strict))) { return True } return False
이 함수는 검색할 바늘, 검색할 건초 더미, 값을 엄격하게 비교할지 여부를 지정하는 선택적 엄격한 플래그(예: 유형 및 값).
재귀 함수를 활용하려면 간단히 원하는 바늘로 호출하고 haystack:
$b = array(array("Mac", "NT"), array("Irix", "Linux")); echo in_array_r("Irix", $b) ? 'found' : 'not found';
'found'가 출력되어 "Irix"가 다차원 배열 $b에 존재함을 나타냅니다.
재귀 함수는 다음과 같습니다. 다목적 솔루션이므로 다차원 값을 확인하는 다른 방법이 있습니다. arrays:
궁극적으로 최선의 접근 방식은 애플리케이션의 특정 요구 사항에 따라 다릅니다. 속도가 중요하다면 재귀 함수가 적합한 선택일 수 있습니다. 그렇지 않으면 대체 방법이 더 간단하고 강력한 솔루션을 제공할 수 있습니다.
위 내용은 PHP의 다차원 배열 내에서 값을 효율적으로 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!