array_udiff() 函數(shù)返回一個(gè)數(shù)組,該數(shù)組包括了所有在被比較數(shù)組中,但是不在任何其它參數(shù)數(shù)組中的值,鍵名保留不變。
語(yǔ)法
array_udiff(array1,array2,array3...,function)
參數(shù) 描述
array1 必需。被比較的數(shù)組。
array2 必需。用來(lái)做比較的數(shù)組。
array3 可選。用來(lái)做比較的數(shù)組,可有多個(gè)。
function 可選。自定義的比較回調(diào)函數(shù)。
數(shù)據(jù)的比較是用 function 進(jìn)行的。如果認(rèn)為第一個(gè)參數(shù)小于,等于,或大于第二個(gè)參數(shù)時(shí)必須分別返回一個(gè)小于零,等于零,或大于零的整數(shù)。這和 array_diff() 不同,后者使用了內(nèi)部函數(shù)來(lái)比較數(shù)據(jù)。
注意鍵名保持不變。
注釋:該函數(shù)只進(jìn)行鍵值的比較,不比較鍵名。如 “a”=>1 和 “b”=>1 這兩個(gè)元素視作相等的。
注釋:array_udiff() 函數(shù)僅檢查多維數(shù)組中的一維。
例 1. array_udiff() 例子
<?phpfunction myfunction($v1,$v2){if ($v1===$v2){return 0;}return 1;}$a1=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");$a2=array(1=>"Cat",2=>"Dog",3=>"Fish");print_r(array_udiff($a1,$a2,"myfunction"));?>
<?phphtml' target='_blank'>class cr {private $priv_member;function cr($val){$this->priv_member = $val;}function comp_func_cr($a, $b){if ($a->priv_member === $b->priv_member) return 0;return ($a->priv_member > $b->priv_member)? 1:-1;}}$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);$result = array_udiff($a, $b, array("cr", "comp_func_cr"));print_r($result);?>
Array([0.5] => cr Object([priv_member:private] => 12)[0] => cr Object([priv_member:private] => 23))
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選