English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
array_diff_uassoc()함수는 두 개(또는 여러 개)의 배열의 키와 값을 비교하고 array를 반환한다.1의 항목 배열, 이 항목은 다른 어떤 같은 값을 가진 배열에서도 존재하지 않는다.
이 함수는 다음과 같다.array_diff()와는 다르다.array_diff()는 값을 비교하지만, 이 함수는 다른 배열의 키와 값을 비교한다.
이 함수는 다음과 같다.array_diff_assoc()는 다르다. array_diff_assoc()는 내부 알고리즘을 사용하여 키와 값을 비교하지만, 이 함수는 사용자 정의 함수를 사용하여 키와 값을 비교한다.
array_diff_uassoc ( $array1, $array2 , $array3..., callback $key_compare_func] );
순번 | 매개변수 및 설명 |
---|---|
1 | array1(필수) 비교할 배열 |
2 | array2(필수) 이는 첫 번째 배열과 비교할 배열입니다 |
3 | array3(선택) 첫 번째 배열과 비교할 배열 |
4 | key_compare_func(필수) 첫 번째 매개변수가 두 번째 매개변수보다 작거나 같거나 큰 경우, 비교 함수는 해당하게되는 0보다 작은, 같거나 큰 정수를 반환해야 합니다. |
이 함수는 array1에서의 모든 항목을 반환하지만, 다른 어떤 배열에서도 존재하지 않습니다.
이 함수는 PHP 버전5.0.0에 포함된.
아래의 예제를 시도해 보세요. 여기서, 만약 $input1키가 다른 어떤 입력 배열과도 일치하면 키 비교 함수가 0을 반환합니다; 큰 경우에1; 작은 경우에 -1。
정의된 함수로 키를 비교할 때, 두 배열 모두 "a" 키가 있으므로 출력에 포함되지 않습니다. 다음 키 "b"과 "c"는 두 번째 배열에 없으므로 출력에 포함됩니다. 또한, 두 번째 매개변수 "red"에서 "red"의 키가 0으로 되어 있어 출력에 포함됩니다.1:
<?php function key_compare_func($a, $b) { if ($a === $b) { return 0; } return ($a > $b)? 1: -1; } $input1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); $input2 = array("a" => "green", "yellow", "red"); $result = array_diff_uassoc($input1, $input2, "key_compare_func"); print_r($result); ?>테스트를 보세요‹/›
출력 결과:
Array ( [b] => brown [c] => blue [0] => red )
아래의 예제를 시도해 보세요. 이번에는 "red"가 출력에 포함되지 않을 것입니다. 두 키 모두 0에 같습니다.
<?php function key_compare_func($a, $b) { if ($a === $b) { return 0; } return ($a > $b)? 1: -1; } $input1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); $input2 = array("a" => "green", "c" => "yellow", "red"); $result = array_diff_uassoc($input1, $input2, "key_compare_func"); print_r($result); ?>테스트를 보세요‹/›
출력 결과:
Array ( [b] => brown [c] => blue )