Maison > Article > développement back-end > PHP compare les noms de clés et les valeurs des clés de deux tableaux et renvoie la fonction de différence array_diff_uassoc()
Exemple
Comparez les noms de clés et les valeurs de clés de deux tableaux (utilisez l'utilisateurfonction personnalisée pour comparer les noms de clés) et renvoyez l'ensemble de différences :
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("d"=>"red","b"=>"green","e"=>"blue"); $result=array_diff_uassoc($a1,$a2,"myfunction"); print_r($result); ?>
Définition et utilisation
La fonction array_diff_uassoc() est utilisée pour comparer les noms de clés et les valeurs de clés de deux (ou plus) tableaux et renvoyer la différence.
Remarque : Cette fonction utilise une fonction définie par l'utilisateur pour comparer les noms de clés !
Cette fonction compare les noms de clé et les valeurs de cléde deux (ou plus) tableaux et renvoie un tableau de différence, qui inclut tout ce qui se trouve dans le tableau comparé (tableau1), mais pas dans aucun autre. nom de clé et valeur de clé dans le tableau de paramètres (array2 ou array3, etc.).
Syntaxe
array_diff_uassoc(array1,array2,array3...,myfunction);
Paramètre | Description | ||||||||||
array1 | Obligatoire . Le premier tableau à comparer avec d’autres tableaux. | ||||||||||
array2 | Obligatoire. Le tableau à comparer au premier tableau. | ||||||||||
array3,... | Facultatif. Tableau supplémentaire à comparer avec le premier tableau. | ||||||||||
ma fonction | Obligatoire. Une string
|
Détails techniques
返回值: | 返回一个差集数组,该数组包括了所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2 或 array3 等等)中的键名和键值。 |
PHP 版本: | 5+ |
更多实例
实例 1
比较三个数组的键名和键值(使用用户自定义函数比较键名),并返回差集:
<?php function myfunction($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","d"=>"blue"); $a3=array("e"=>"yellow","a"=>"red","d"=>"blue"); $result=array_diff_uassoc($a1,$a2,$a3,"myfunction"); print_r($result); ?>
例子 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 )
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!