Fonction array_uintersect
La fonction array_uintersect calcule l'intersection de tableaux en utilisant une fonction de rappel pour la comparaison des valeurs. Elle retourne un tableau contenant tous les éléments du premier tableau qui sont présents dans tous les autres tableaux. La comparaison des valeurs s'effectue via une fonction de rappel définie par l'utilisateur.
Syntaxe
array_uintersect(array $array1, array $array2, ..., callable $value_compare_func): array;
Exemple
Trouvons l'intersection de deux tableaux en comparant leurs valeurs à l'aide d'une fonction de rappel :
<?php
$array1 = [1, 2, 3, 4, 5];
$array2 = [2, 4, 6, 8, 10];
$res = array_uintersect($array1, $array2, function($a, $b) {
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
});
print_r($res);
?>
Résultat de l'exécution du code :
[2, 4]
Exemple
Comparaison de tableaux de chaînes de caractères à l'aide d'une fonction personnalisée :
<?php
$array1 = ['a', 'b', 'c', 'd', 'e'];
$array2 = ['b', 'd', 'f', 'h', 'j'];
$res = array_uintersect($array1, $array2, function($a, $b) {
return strcmp($a, $b);
});
print_r($res);
?>
Résultat de l'exécution du code :
['b', 'd']
Voir aussi
-
la fonction
array_intersect,
qui calcule l'intersection de tableaux -
la fonction
array_intersect_assoc,
qui calcule l'intersection de tableaux avec une vérification supplémentaire des index -
la fonction
array_uintersect_assoc,
qui calcule l'intersection de tableaux avec une vérification supplémentaire des index, en utilisant une fonction de rappel