(PHP 5 >= 5.1.0, PHP 7, PHP 8)
array_diff_ukey — Calcule la différence entre deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison
Description
array_diff_ukey(array
$array, array
...$arrays, callable
$key_compare_func): array
Contrairement à la fonction array_diff_key(),
une fonction utilisateur est fournie pour la comparaison des indices,
et non une fonction interne.
Liste de paramètres
-
array
-
Le tableau à comparer
-
arrays
-
Tableaux à comparer contre
-
key_compare_func
-
La fonction de comparaison doit retourner un entier inférieur à, égal à, ou supérieur
à 0 si le premier argument est considéré comme, respectivement, inférieur à, égal à, ou supérieur au second.
callback(mixed $a, mixed $b): int
Attention
Retourner des valeurs non-entières à partir de la fonction
de comparaison, telles que float, entraînera une conversion interne
de la valeur de retour du rappel en int. Ainsi, des valeurs telles que
0.99 et 0.1 seront toutes deux converties en une
valeur entière de 0, ce qui comparera de telles valeurs comme égales.
Valeurs de retour
Retourne un tableau contenant toutes les entrées du tableau
array qui ne sont présentes dans
aucun autre tableau.
Exemples
Exemple #1 Exemple avec array_diff_ukey()
<?php
function key_compare_func($key1, $key2)
{
if ($key1 == $key2)
return 0;
else if ($key1 > $key2)
return 1;
else
return -1;
}
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
var_dump(array_diff_ukey($array1, $array2, 'key_compare_func'));
?>
L'exemple ci-dessus va afficher :
array(2) {
["red"]=>
int(2)
["purple"]=>
int(4)
}
Notes
Note:
Notez que cette fonction vérifie uniquement une dimension d'un tableau
possédant n dimensions. Bien sûr, vous pouvez vérifier une dimension
plus profonde en utilisant, par exemple,
array_diff_ukey($array1[0], $array2[0], 'callback_func');.
Voir aussi
- array_diff() - Calcule la différence entre des tableaux
- array_udiff() - Calcule la différence entre deux tableaux en utilisant une fonction rappel
- array_diff_assoc() - Calcule la différence de deux tableaux, en prenant aussi en compte les clés
- array_diff_uassoc() - Calcule la différence entre deux tableaux associatifs,
à l'aide d'une fonction de rappel
- array_udiff_assoc() - Calcule la différence entre des tableaux avec vérification des index,
compare les données avec une fonction de rappel
- array_udiff_uassoc() - Calcule la différence de deux tableaux associatifs, compare les données et
les index avec une fonction de rappel
- array_diff_key() - Calcule la différence de deux tableaux en utilisant les clés pour comparaison
- array_intersect() - Calcule l'intersection de tableaux
- array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index
- array_intersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur les index,
compare les index en utilisant une fonction de rappel
- array_intersect_key() - Calcule l'intersection de deux tableaux en utilisant les clés pour comparaison
- array_intersect_ukey() - Calcule l'intersection de deux tableaux en utilisant une fonction de rappel sur les clés pour comparaison