Fonction array_uintersect() en PHP

Exemple

Comparer les valeurs des clés de deux arrays (en utilisant une fonction de comparaison personnalisée) 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"=>"blue","b"=>"black","e"=>"blue");
$result=array_uintersect($a1,$a2,"myfunction");
print_r($result);
?>

Exemple de fonctionnement

Définition et utilisation

La fonction array_uintersect() est utilisée pour comparer les valeurs des clés de deux (ou plusieurs) arrays et retourne l'intersection.

Remarque :Cette fonction utilise une fonction de comparaison personnalisée pour comparer les valeurs des clés.

Cette fonction compare les valeurs des clés de deux (ou plusieurs) arrays et retourne un array d'intersection, qui contient tous les éléments des arrays comparés (array1) et également dans tout autre tableau de paramètres (array2 ou array3 etc.) des clés.

Syntaxe

array_uintersect(array1,array2,array3...myfunction)
Paramètres Description
array1 Obligatoire. Premier array à comparer avec d'autres arrays.
array2 Obligatoire. Array à comparer avec le premier array.
array3,... Optionnel. Autres arrays à comparer avec le premier array.
myfunction

Obligatoire. Valeur de chaîne, définissant la fonction de comparaison appelable.

Si le premier paramètre est inférieur ou égal à ou supérieur au second paramètre, la fonction de comparaison doit retourner un entier inférieur ou égal à ou supérieur à 0.

Explication

Utiliser une fonction de rappel personnalisée myfunction Pour calculer l'intersection de deux ou plusieurs arrays (c'est-à-dire array1 Il contient tous les éléments d'arrays qui existent à la fois dans cet array et dans d'autres arrays.

Seulement la comparaison des valeurs des clés est effectuée, sans comparaison du nom de la clé, par exemple, "a"=>1 et "b"=>1 ces deux éléments sont considérés comme égaux.

myfunction La fonction spécifiée par les paramètres est utilisée pour comparer si les éléments sont égaux.myfunction La fonction prend 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, retourne 0, et si le premier paramètre est supérieur au second, retourne un nombre positif.

Les noms des clés dans le tableau retourné restent inchangés.

Détails techniques

Retour :

Retourne un tableau contenant toutes les array1 contient toutes les unités présentes à la fois dans tous les autres tableaux.

Retourne un tableau d'intersection qui contient toutes les unités présentes dans tous les tableaux comparés (array1) et également dans tout autre tableau de paramètres (array2 ou array3 etc.) des clés.

Version PHP : 5+

Plus d'exemples

Exemple 1

Comparer les clés et les valeurs de trois tableaux (utiliser une fonction utilisateur personnalisée pour comparer les clés et les valeurs) 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","yellow");
$a2=array("A"=>"red","b"=>"GREEN","yellow","black");
$a3=array("a"=>"green","b"=>"red","yellow","black");
$result=array_uintersect($a1,$a2,$a3,"myfunction");
print_r($result);
?>

Exemple de fonctionnement