>  기사  >  백엔드 개발  >  PHP의 2차원 배열에 특정 차원 배열이 있는지 확인하는 방법

PHP의 2차원 배열에 특정 차원 배열이 있는지 확인하는 방법

PHPz
PHPz원래의
2023-04-12 09:19:07700검색

PHP에서는 다차원 배열을 처리하는 것이 일반적인 작업 중 하나입니다. 2차원 배열의 경우 특정 요소가 포함된 1차원 배열을 찾아야 하는 경우가 있습니다. 그렇다면 그것을 달성하는 방법은 무엇입니까?

방법 1: in_array 함수 사용

PHP에 내장된 in_array 함수를 사용하면 1차원 배열에 특정 요소가 포함되어 있는지 확인할 수 있습니다. 따라서 2차원 배열의 경우 1차원 배열을 반복하고 in_array 함수를 호출하여 각각 검색하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

다음은 샘플 코드입니다.

function searchSubArrayInArray($needle, $haystack) {
  foreach ($haystack as $subArray) {
    if (in_array($needle, $subArray)) {
      return true;
    }
  }
  return false;
}

위 예제에서 $needle은 검색할 1차원 배열을 나타내고, $haystack은 검색할 2차원 배열을 나타냅니다. 이 함수는 존재 여부를 나타내는 bool 유형 값을 반환합니다.

in_array 함수는 대소문자를 구분하므로 사용 시 대소문자에 주의해야 한다는 점에 유의하세요.

방법 2: array_search 함수 사용

in_array 함수 외에도 PHP는 요소를 찾는 또 다른 방법인 array_search 함수도 제공합니다. 이 함수는 주어진 값에 대해 배열을 검색하고, 발견되면 해당 값에 대한 키를 반환합니다(예: 1차원 배열). 찾을 수 없으면 false를 반환합니다.

다음은 샘플 코드입니다.

function searchSubArrayInArray($needle, $haystack) {
  foreach ($haystack as $key => $subArray) {
    if (array_search($needle, $subArray) !== false) {
      return $key;
    }
  }
  return false;
}

위 예제에서 $needle은 검색할 1차원 배열을 나타내고, $haystack은 검색할 2차원 배열을 나타냅니다. 이 함수는 int 유형 값(즉, 2차원 배열에 바늘이 포함된 1차원 배열의 키) 또는 false를 반환합니다.

여러 개의 1차원 배열에 바늘 요소가 포함된 경우 array_search 함수는 첫 번째로 일치하는 키만 반환한다는 점에 유의해야 합니다.

요약

위는 2차원 배열에 1차원 배열이 포함되어 있는지 확인하는 두 가지 일반적인 방법입니다. 실제 프로젝트에 사용해야 한다면 실제 상황에 따라 다양한 방법을 선택해야 합니다.

위 내용은 PHP의 2차원 배열에 특정 차원 배열이 있는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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