Fonction array_intersect_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 renvoyer l'intersection :

<?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_intersect_uassoc($a1, $a2, "myfunction");
print_r($result);
?>

Exemple de exécution

Définition et utilisation

La fonction array_intersect_uassoc() est utilisée pour comparer les noms de clé et les valeurs de clé de deux (ou plusieurs) tableaux et renvoie l'intersection.

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 renvoie un tableau d'intersection qui contient toutes les valeursarray1) et dans n'importe quel autre tableau de paramètres (array2 ou array3 etc.) les noms de clé et les valeurs.

Description

La fonction array_intersect_uassoc() utilise une fonction de rappel personnalisée fournie par l'utilisateur pour calculer l'intersection des tableaux, en comparant les indices.

array_intersect_uassoc() renvoie un tableau qui contient toutes les valeurs array1 Cette valeur apparait également dans tous les autres tableaux de paramètres. Les noms de clé dans le tableau retourné restent inchangés.

Attention, contrairement à array_intersect(), il faut comparer à la fois les valeurs de clé et les noms de clé.

Cette comparaison est effectuée par une fonction de rappel fournie par l'utilisateur. Cette fonction prend deux paramètres, à savoir les noms de clé à comparer. Si le premier paramètre est inférieur au deuxième, la fonction doit renvoyer un nombre négatif, si les deux paramètres sont égaux, elle doit renvoyer 0, et si le premier paramètre est supérieur au deuxième, elle doit renvoyer un nombre positif.

grammaire

array_intersect_uassoc(array1,array2,array3...myfunction)
Paramètres Description
array1 Requis. Premier tableau à comparer avec d'autres tableaux.
array2 Requis. Tableau à comparer avec le premier tableau.
array3,... Optionnel. Autres tableaux à comparer avec le premier tableau.
myfunction Requis. Définir une 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.

Détails techniques

Retour : Retourne un tableau d'intersection qui contient toutes les valeurs des tableaux comparés (array1) et dans n'importe quel autre tableau de paramètres (array2 ou array3 etc.) les noms de clé et les valeurs.
Version PHP : 5+

Plus d'exemples

Exemple 1

Comparer les noms de clé et les valeurs des trois tableaux (utiliser une fonction utilisateur personnalisée pour comparer les noms de clé) et retourner l'intersection :

<?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_intersect_uassoc($a1,$a2,$a3,"myfunction");
print_r($result);
?>

Exemple de exécution