> 백엔드 개발 > PHP 문제 > PHP에서 배열이 배열에 있는지 확인하는 방법

PHP에서 배열이 배열에 있는지 확인하는 방법

PHPz
풀어 주다: 2023-04-27 09:40:27
원래의
637명이 탐색했습니다.

PHP 개발에서는 배열이 다른 배열에 있는지 확인해야 하는 경우가 많습니다.

예를 들어 배열 A가 있는 시나리오가 있습니다. 배열 A의 모든 요소가 다른 배열 B에 존재하는지 확인해야 합니다.

PHP에서는 in_array() 함수를 통해 배열이 다른 배열에 있는지 여부를 확인할 수 있습니다. 그러나 이 함수는 한 배열이 다른 배열에 완전히 포함되어 있는지 여부를 확인할 수 없습니다. 따라서 이 기능을 구현하려면 함수를 직접 작성해야 합니다.

다음은 사용자 정의 함수의 구현입니다.

function array_in_array($needle, $haystack) {
    $result = true;
    foreach ($needle as $value) {
        if (!in_array($value, $haystack)) {
            $result = false;
            break;
        }
    }
    return $result;
}
로그인 후 복사

이 함수는 $needle 및 $haystack이라는 두 개의 매개변수를 허용합니다.

$needle은 판단할 배열을 나타내고, $haystack은 판단할 배열을 나타냅니다.

함수의 반환 값은 $needle이 $haystack에 완전히 포함되는지 여부를 나타내는 부울 유형입니다.

다음은 사용 예입니다.

$arrayA = array('apple', 'banana', 'orange');
$arrayB = array('orange', 'banana', 'apple', 'pear');

$result = array_in_array($arrayA, $arrayB);

if ($result) {
    echo '数组A中所有元素都在数组B中';
} else {
    echo '数组A中存在元素不在数组B中';
}
로그인 후 복사

위 예에서 $arrayA에는 3개의 요소가 포함되고 $arrayB에는 4개의 요소가 포함됩니다. $arrayA의 모든 요소는 $arrayB에 존재합니다. 따라서 $result의 값은 true이고 프로그램은 "배열 A의 모든 요소가 배열 B에 있습니다."를 출력합니다.

$arrayB를 다음과 같이 변경하는 경우:

$arrayB = array('orange', 'banana');
로그인 후 복사

위 코드를 실행한 후 프로그램은 "배열 A에는 요소가 있지만 배열 B에는 없습니다"라는 출력을 출력합니다.

이 기능은 비교적 간단합니다. 핵심은 원리를 이해하는 것입니다.

foreach 루프를 통해 $needle의 요소를 순회한 다음 각 요소가 $haystack에 있는지 확인할 수 있습니다. $haystack에 없는 요소가 있으면 $needle이 $haystack의 하위 집합이 아니라는 의미이며 함수는 false를 반환합니다.

이런 방법으로 배열이 다른 배열에 있는지 쉽게 확인할 수 있습니다!

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿