Fonction array_udiff_uassoc() en PHP

Exemple

Comparez les noms de clé et les valeurs de clé de deux tableaux (utilisez des fonctions utilisateur personnalisées pour la comparaison) et retournez une différence :

<?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);
?>

Exemple de exécution

Définition et utilisation

La fonction array_udiff_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 deux fonctions utilisateur personnalisées pour la comparaison ; la première fonction compare les noms de clé, et la deuxième fonction compare les valeurs 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 inclut tous les éléments des tableaux comparés (array1) mais pas dans d'autres tableaux de paramètres (array2 ou array3 et autres) des noms de clé et de valeur.

Description

La fonction array_udiff_uassoc() retourne array1 La partie qui existe dans le tableau mais n'existe pas dans les autres tableaux. Le nom de clé du tableau retourné reste inchangé.

Notez que array_diff() ainsi que array_udiff() La différence réside en ce que le nom de clé est également utilisé pour la comparaison. La comparaison des noms de clé et des valeurs de clé est également effectuée, par exemple, "a"=>1 et "b"=>1 ces deux éléments ne sont pas égaux.

La vérification des noms de clé (indices) est également effectuée par la fonction de rappel myfunction_key La. Cela et array_udiff_assoc() a un comportement différent, l'autre utilise la fonction interne pour comparer les indices.

la comparaison des données de tableau est faite en utilisant la fonction de rappel fournie par l'utilisateur myfunction_value fait. En ce sens, et array_diff_assoc() a un comportement inverse, l'autre utilise la fonction interne.

Ces deux fonctions comportent deux paramètres à comparer. Si le premier paramètre est inférieur au second, la fonction retourne un nombre négatif, si les deux paramètres sont égaux, il faut retourner 0, et si le premier paramètre est supérieur au second, retourner un nombre positif.

Syntaxe

array_udiff_uassoc(array1,array2,array3...myfunction_key,myfunction_value)
Paramètres Description
array1 Obligatoire. Premier tableau à comparer avec d'autres tableaux.
array2 Obligatoire. Tableau avec lequel comparer le premier tableau.
array3,... Optionnel. Autres tableaux avec lesquels comparer le premier tableau.
myfunction_key

Obligatoire. Nom de la fonction utilisateur personnalisée utilisée pour comparer les noms des tableaux d'arrays.

Valeur de chaîne, définissant la 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.

myfunction_value

Obligatoire. Nom de la fonction utilisateur personnalisée utilisée pour comparer les valeurs des tableaux d'arrays.

Valeur de chaîne, définissant la 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.

Détails techniques

Retour : retourne un tableau de différence, qui inclut toutes les valeurs des tableaux comparés (array1) mais pas dans d'autres tableaux de paramètres (array2 ou array3 et autres) des noms de clé et de valeur.
Version PHP : 5+