Fonction array_diff_uassoc() en PHP
Exemple
Comparer les noms de clé et les valeurs de clé de deux tableaux (en utilisant une fonction personnalisée pour comparer les noms de clé) et retourner une différence :
<?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é et les valeurs de clé de deux (ou plusieurs) tableaux et retourne une différence.
Remarque :Cette fonction utilise une fonction personnalisée pour comparer les noms de clé !
Cette fonction compare les noms de clé et les valeurs de clé de deux (ou plusieurs) tableaux et retourne un tableau de différence, qui contient tous les éléments qui ne sont pas présents dansarray1) mais pas dans n'importe quel autre tableau de paramètres (array2 ou array3 etc.) des noms de clé et des valeurs.
Syntaxe
array_diff_uassoc(array1,array2,array3,...myfunction;
Paramètres | Description |
---|---|
array1 | Obligatoire. Premier tableau à comparer avec d'autres tableaux. |
array2 | Obligatoire. Tableau à comparer avec le premier tableau. |
array3,... | Optionnel. Autres tableaux à comparer avec le premier tableau. |
myfunction | Obligatoire. Définir une chaîne de caractères pour une fonction comparable. Si le premier paramètre est inférieur, égal ou supérieur au second paramètre, la fonction comparative doit retourner un entier inférieur, égal ou supérieur à 0. |
Exemple
La fonction array_diff_uassoc() utilise une fonction callback personnalisée pour vérifier les indices et calculer la différence entre deux ou plusieurs tableaux. Elle retourne un tableau qui contient tous les éléments qui ne sont pas présents dans array1 中但是不在任何其他参数数组中的值。
Les valeurs dans mais pas dans n'importe quel autre tableau de paramètres.
Attention, contrairement à la fonction array_diff(), les noms de clé sont également comparés.
Les noms de clé dans le tableau retourné restent inchangés.
Détails techniques
Retour : | Retourne un tableau de différence, qui contient toutes les valeurs dans les tableaux comparés (array1) mais pas dans n'importe quel autre tableau de paramètres (array2 ou array3 etc.) des noms de clé et des valeurs. |
Version PHP : | 5+ |
Plus d'exemples
Exemple 1
Comparer les noms de clé et les valeurs des trois tableaux (utiliser une fonction utilisateur pour comparer les noms de clé) et retourner l'ensemble de différence :
<?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); ?>