> 백엔드 개발 > PHP 문제 > PHP의 두 배열에서 서로 다른 값을 얻는 방법

PHP의 두 배열에서 서로 다른 값을 얻는 방법

PHPz
풀어 주다: 2023-04-20 11:02:30
원래의
662명이 탐색했습니다.

PHP에서는 두 배열의 서로 다른 요소를 가져오려면 array_diff() 함수를 사용할 수 있습니다. 이 함수는 배열 1에는 있지만 배열 2에는 없는 요소로 구성된 새 배열을 반환합니다.

다음은 비교하려는 두 배열이 $arr1과 $arr2라고 가정한 예입니다.

$arr1 = array("apple", "banana", "orange");
$arr2 = array("banana", "orange", "pear", "kiwi");
$result = array_diff($arr1, $arr2);
print_r($result); // 输出:Array ( [0] => apple )
로그인 후 복사

이 예에서는 $arr1의 "apple" 요소가 $arr2에 나타나지 않으므로 반환됩니다. $result 배열에 있습니다.

하지만 array_diff()는 1차원 배열만 비교한다는 점에 유의하세요. 다차원 배열을 비교하려면 재귀 함수를 직접 작성해야 합니다. 다음은 다차원 배열을 비교하는 예입니다.

function array_diff_multi($arr1, $arr2) {
    $diff = array();
    foreach ($arr1 as $key => $value) {
        if (is_array($value) && isset($arr2[$key]) && is_array($arr2[$key])) {
            $diff[$key] = array_diff_multi($value, $arr2[$key]);
        } else {
            if (!in_array($value, $arr2)) {
                $diff[$key] = $value;
            }
        }
    }
    return $diff;
}

$arr1 = array("fruit" => array("apple", "banana", "orange"), "color" => "blue");
$arr2 = array("fruit" => array("banana", "orange", "pear", "kiwi"), "color" => "red");
$result = array_diff_multi($arr1, $arr2);
print_r($result); // 输出:Array ( [fruit] => Array ( [0] => apple ) [color] => blue )
로그인 후 복사

이 예에서는 두 개의 다차원 배열을 비교하는 사용자 정의 함수 array_diff_multi()를 만들었습니다. 재귀를 사용하여 각 하위 배열의 요소를 비교합니다.

간단히 말하면, PHP에서 두 배열의 서로 다른 요소를 얻는 방법은 여러 가지가 있습니다. array_diff() 함수는 가장 간단하고 가장 일반적으로 사용되는 방법 중 하나이지만 1차원 배열에서만 작동합니다. 다차원 배열을 비교하려면 사용자 정의 재귀 함수를 사용해야 합니다.

위 내용은 PHP의 두 배열에서 서로 다른 값을 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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