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() 函数用于比较两个(或更多个)数组的键名和键值,并返回差集。
注释:该函数使用两个用户自定义函数进行比较;第一个函数比较键名,第二个函数比较键值!
该函数比较两个(或更多个)数组的键名和键值,并返回一个差集数组,该数组包括了所有在被比较的数组(array1osv.), men ikke i nogen andre parameterarrays (array2 eller array3 osv.) nøgler og værdier.
说明
array_udiff_uassoc() 函数返回 array1 数组中存在但其它数组中都不存在的部分。返回的数组中键名保持不变。
注意与 array_diff() 以及 array_udiff() 不同的是键名也用于比较。同时进行键名和键值的比较,如 "a"=>1 和 "b"=>1 这两个元素是不相等的。
对键名(索引)的检查也是由回调函数 myfunction_key 进行的。这和 array_udiff_assoc() adferd er forskellig, sidstnævnte bruger en intern funktion til at sammenligne indekser.
comparisons af arraydata udføres ved hjælp af brugerdefinerede callback-funktioner myfunction_value udføres. På dette område adskiller sig adfærd fra array_diff_assoc() adferd er præcis det modsatte, sidstnævnte bruger en intern funktion til sammenligning.
Disse to funktioner har to parametre, der skal sammenlignes. Hvis den første parameter er mindre end den anden parameter, returnerer funktionen et negativt tal, hvis de to parametre er lig med hinanden, returnerer funktionen 0, og hvis den første parameter er større end den anden, returnerer funktionen et positivt tal.
Syntaks
array_udiff_uassoc(array1,array2,array3,...myfunction_key,myfunction_value)
Parametre | Beskrivelse |
---|---|
array1 | Obligatorisk. Den første array, der sammenlignes med andre arrayer. |
array2 | Obligatorisk. Arrayet, der sammenlignes med den første array. |
array3,... | Valgfri. Andre arrayer, der sammenlignes med den første array. |
myfunction_key |
Obligatorisk. Navnet på den brugerdefinerede funktion, der bruges til at sammenligne arrayets nøgler. Strengværdier, der definerer den tilkaldte sammenligningsfunktion. Hvis den første parameter er mindre end, lig med eller større end den anden parameter, skal sammenligningsfunktionen returnere et heltal mindre end, lig med eller større end 0. |
myfunction_value |
Obligatorisk. Navnet på den brugerdefinerede funktion, der bruges til at sammenligne arrayets nøgler. Strengværdier, der definerer den tilkaldte sammenligningsfunktion. Hvis den første parameter er mindre end, lig med eller større end den anden parameter, skal sammenligningsfunktionen returnere et heltal mindre end, lig med eller større end 0. |
Tekniske detaljer
Returværdi: | Returnerer differensmængden, som er en array, der inkluderer alle elementerarray1osv.), men ikke i nogen andre parameterarrays (array2 eller array3 osv.) nøgler og værdier. |
PHP version: | 5+ |