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+