array_diff_uassoc

array_diff_uassoc,用用戶自定義的回調函式 (callback) 做索引檢查來計算兩個或多個數組的差集。返回一個數組,該數組包括了在 array1 中但是不在任何其他參數數組中的值。

基本介紹

  • 中文名:array_diff_uassoc
  • 特色:使用用戶自定義的回調函式做索引
  • 特點:鍵名要進行比較
  • 性質:函式
定義和用法,語法,技術細節,例子 1,例子 2,

定義和用法

array_diff_uassoc() 函式使用用戶自定義的回調函式 (callback) 做索引檢查來計算兩個或多個數組的差集。返回一個數組,該數組包括了在 array1 中但是不在任何其他參數數組中的值。
注意,與 array_diff() 函式 不同的是,鍵名也要進行比較。
參數 function 是用戶自定義的用來比較兩個數組的函式,該函式必須帶有兩個參數 - 即兩個要進行對比的鍵名。因此與函式 array_diff_assoc() 的行為正好相反,後者是用內部函式進行比較的。
返回的數組中鍵名保持不變。

語法

array_diff_uassoc(array1,array2,array3...,function)
參數
描述
array1
必需。與其他數組進行比較的第一個數組。
array2
必需。與第一個數組進行比較的數組。
array3
可選。與第一個數組進行比較的數組。可以有多個。
function
必需。用戶自定義函式的名稱。

技術細節

返回值:
返回一個差集數組,該數組包括了所有在被比較的數組(array1)中,但是不在任何其他參數數組(array2array3 等等)中的鍵名和鍵值。
PHP 版本:
5+

例子 1

<?php
function myfunction($v1,$v2) { if ($v1===$v2) { return 0;
} if ($v1>$v2) { return 1;
} else { return -1;
} } $a1=array(0=>"Dog",1=>"Cat",2=>"Horse");
$a2=array(3=>"Dog",1=>"Cat",5=>"Horse");
print_r(array_diff_uassoc($a1,$a2,"myfunction"));
?>
輸出:
Array ( [0] => Dog [2] => Horse )

例子 2

如何為該函式分配多個數組:
<?php
function myfunction($v1,$v2) { if ($v1===$v2) { return 0;
} if ($v1>$v2) { return 1;
} else { return -1;
} } $a1=array(0=>"Dog",1=>"Cat",2=>"Horse");
$a2=array(3=>"Dog",1=>"Cat",5=>"Horse");
$a3=array(6=>"Bird",0=>"Dog",5=>"Horse");
print_r(array_diff_uassoc($a1,$a2,$a3,"myfunction"));
?>
輸出:
Array ( [2] => Horse )

相關詞條

熱門詞條

聯絡我們