PHP array_udiff_uassoc() 函數
實例
比較兩個數組的鍵名和鍵值(使用用戶自定義函數進行比較),並返回差集:
<?php function myfunction_key($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } function myfunction_value($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"red","b"=>"green","c"=>"green"); $result=array_udiff_uassoc($a1,$a2,"myfunction_key","myfunction_value"); print_r($result); ?>
定義和用法
array_udiff_uassoc() 函數用於比較兩個(或更多個)數組的鍵名和鍵值,並返回差集。
註釋:該函數使用兩個用戶自定義函數進行比較;第一個函數比較鍵名,第二個函數比較鍵值!
該函數比較兩個(或更多個)數組的鍵名和鍵值,並返回一個差集數組,該數組包括了所有在被比較的數組(array1중에서는 있지만, 다른 어떤 매개변수 배열array2 또는 array3 와 같은 키명과 키값.
說明
array_udiff_uassoc() 函數返回 array1 數組中存在但其他數組中都不存在的部分。返回的數組中鍵名保持不變。
注意與 array_diff() 以及 array_udiff() 不同的是鍵名也用於比較。同時進行鍵名和鍵值的比較,如 "a"=>1 和 "b"=>1 這兩個元素是不相等的。
對鍵名(索引)的檢查也是由回調函數 myfunction_key 進行的。這和 array_udiff_assoc() 의 행동이 다르며, 후자는 인덱스를 비교합니다.
로 수행됩니다. 이는 사용자가 제공한 커백 함수를 사용하여 배열 데이터를 비교합니다. myfunction_value 된 비교는 이와 같습니다. array_diff_assoc() 의 행동이 반대이며, 후자는 내부 함수로 비교합니다.
이 두 함수는 두 개의 비교할 매개변수를 가지고 있습니다. 첫 번째 매개변수가 두 번째 매개변수보다 작으면 함수는 음수를 반환하며, 두 매개변수가 같으면 0을 반환하고, 첫 번째 매개변수가 두 번째 매개변수보다 크면 양수를 반환합니다.
문법
array_udiff_uassoc(array1,array2,array3...,myfunction_key,myfunction_value)
파라미터 | 설명 |
---|---|
array1 | 必需. 다른 배열과 비교할 첫 번째 배열. |
array2 | 必需. 첫 번째 배열과 비교할 배열. |
array3,... | 선택 사항. 첫 번째 배열과 비교할 다른 배열. |
myfunction_key |
必需. 배열 키 이름을 비교하는 사용자 정의 함수의 이름. 문자열 값, 호출할 수 있는 비교 함수를 정의합니다. 첫 번째 매개변수가 두 번째 매개변수보다 작거나 같거나 크면 비교 함수는 0 이하 또는 0 이상의 정수를 반환해야 합니다. |
myfunction_value |
必需. 배열 키 값을 비교하는 사용자 정의 함수의 이름. 문자열 값, 호출할 수 있는 비교 함수를 정의합니다. 첫 번째 매개변수가 두 번째 매개변수보다 작거나 같거나 크면 비교 함수는 0 이하 또는 0 이상의 정수를 반환해야 합니다. |
기술적인 세부 사항
반환 값: | 차집합 배열을 반환합니다. 이 배열은 모든 비교된 배열array1중에서는 있지만, 다른 어떤 매개변수 배열array2 또는 array3 와 같은 키명과 키값. |
PHP 버전: | 5+ |