array_udiff() 函數返回一個數組,該數組包括了所有在被比較數組中,但是不在任何其它參數數組中的值,鍵名保留不變。
語法
array_udiff(array1,array2,array3...,function)
參數 描述
array1 必需。被比較的數組。
array2 必需。用來做比較的數組。
array3 可選。用來做比較的數組,可有多個。
function 可選。自定義的比較回調函數。
數據的比較是用 function 進行的。如果認為第一個參數小于,等于,或大于第二個參數時必須分別返回一個小于零,等于零,或大于零的整數。這和 array_diff() 不同,后者使用了內部函數來比較數據。
注意鍵名保持不變。
注釋:該函數只進行鍵值的比較,不比較鍵名。如 “a”=>1 和 “b”=>1 這兩個元素視作相等的。
注釋:array_udiff() 函數僅檢查多維數組中的一維。
例 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))
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答