Fonction array_diff_ukey() en PHP
Exemple
Comparer les noms de clé de deux tableaux (en utilisant une fonction personnalisée utilisateur pour comparer les noms de clé) et retourner la 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"=>"blue","b"=>"black","e"=>"blue"); $result=array_diff_ukey($a1,$a2,"myfunction"); print_r($result); ?>
Définition et utilisation
La fonction array_diff_ukey() est utilisée pour comparer les noms de clé de deux (ou plusieurs) tableaux et retourne la différence.
Remarque :Cette fonction utilise une fonction personnalisée utilisateur pour comparer les noms de clé !
Cette fonction compare les noms de clé de deux (ou plusieurs) tableaux et retourne un tableau de différence qui inclut tous les éléments des tableaux comparés (array1) mais pas dans d'autres tableaux de paramètres (array2 ou array3 etc.) des noms de clé.
Syntaxe
array_diff_ukey(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. Autre tableau à comparer avec le premier tableau. |
myfunction | Obligatoire. Chaîne de caractères définissant une fonction de comparaison appelable. Si le premier paramètre est inférieur, égal ou supérieur au second paramètre, la fonction de comparaison doit retourner un entier inférieur, égal ou supérieur à 0. |
Description
array_diff_ukey() retourne un tableau qui contient toutes les clés ( array1 mais qui n'apparaît pas dans d'autres tableaux de paramètres. Notez que les relations associées sont conservées. Contrairement à array_diff(), la comparaison est effectuée sur les noms de clé plutôt que sur les valeurs.
Cette comparaison est effectuée par l'intermédiaire d'une fonction de rappel fournie par l'utilisateur. Il est nécessaire de retourner un entier inférieur à zéro, égal à zéro ou supérieur à zéro si le premier paramètre est inférieur, égal ou supérieur au second paramètre.
Détails techniques
Retour : | Retourne un tableau de différence qui contient toutes les clés (array1) mais pas dans d'autres tableaux de paramètres (array2 ou array3 etc.) des noms de clé. |
Version PHP : | 5.1+ |
Plus d'exemples
Exemple 1
Comparer les noms de clé de trois tableaux (utiliser une fonction utilisateur pour comparer les noms de clé) et retourner la 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"=>"black","b"=>"yellow","d"=>"brown"); $a3=array("e"=>"purple","f"=>"white","a"=>"gold"); $result=array_diff_ukey($a1,$a2,$a3,"myfunction"); print_r($result); ?>