>백엔드 개발 >PHP 튜토리얼 >PHP 다차원 배열에서 값을 효율적으로 검색하는 방법은 무엇입니까?

PHP 다차원 배열에서 값을 효율적으로 검색하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-20 05:11:13134검색

How to Efficiently Search for a Value in a PHP Multidimensional Array?

값으로 PHP 다차원 배열 검색

다차원 배열을 조작할 때 해당 값을 기반으로 특정 키를 찾아야 하는 경우가 종종 있습니다. 이 작업은 PHP의 다양한 기술을 사용하여 수행할 수 있습니다.

옵션 1: array_search() 및 array_column() 사용

이 접근 방식을 활용하려면 PHP를 사용하고 있는지 확인해야 합니다. 버전 5.5.0 또는

$key = array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));

설명:

  • array_column()은 배열에서 키 열을 추출합니다. 이 경우 '슬러그' 값을 새 배열로 검색합니다.
  • array_search()는 반환된 배열 내에서 원하는 값('breville-one-touch-tea-maker-BTM800XL')을 검색합니다. array_column(), 발견된 경우 일치하는 키를 제공합니다.

옵션 2: 사용자 정의 함수 array_walk_recursive()

function array_search_multidim($array, $column, $key) {
    $result = null;
    array_walk_recursive($array, function ($value, $index) use ($column, $key, &$result) {
        if ($index === $column && $value === $key) {
            $result = $index;
        }
    });
    return $result;
}
$key = array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');

설명:

  • array_walk_recursive()는 중첩된 수준 내의 요소를 포함하여 배열의 모든 요소를 ​​반복합니다.
  • 클로저 함수는 지정된 값에 대해 각 값의 인덱스($index)를 확인합니다. 열($column)을 검색하고 그 값($value)을 원하는 키($key)와 비교합니다.
  • 일치하는 항목이 발견되면 일치하는 요소의 인덱스($index)를 $result에 할당합니다.

성능 고려 사항

array_search() 및 array_column() 접근 방식은 일반적으로 비교하여 더 나은 성능을 제공합니다. array_walk_recursive() 메소드에. 그러나 두 기술 모두 대부분의 애플리케이션에 적합하며 구체적인 선택은 개별 요구 사항에 따라 달라집니다.

추가 참고 사항

  • 이 방법을 사용하려면 키가 키와 동일한 수준에 있어야 합니다. 값이 검색됩니다.
  • 정확한 값 일치를 검색합니다. 부분 일치는 지원되지 않습니다.

위 내용은 PHP 다차원 배열에서 값을 효율적으로 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.