Fonction array_diff
La fonction array_diff compare des tableaux et renvoie les éléments du premier tableau qui sont absents dans les autres tableaux passés. Les clés des éléments sont conservées. Le premier paramètre est le tableau principal, les suivants sont les tableaux à comparer.
Syntaxe
array_diff(array1, array2, array3, ...);
Exemple
Comparons deux tableaux et trouvons les éléments du premier qui ne sont pas dans le second :
<?php
$arr1 = [1, 2, 3, 4];
$arr2 = [2, 4, 5];
$res = array_diff($arr1, $arr2);
print_r($res);
?>
Résultat de l'exécution du code :
[0 => 1, 2 => 3]
Exemple
Comparaison de trois tableaux :
<?php
$arr1 = ['a', 'b', 'c', 'd'];
$arr2 = ['b', 'd'];
$arr3 = ['d', 'e'];
$res = array_diff($arr1, $arr2, $arr3);
print_r($res);
?>
Résultat de l'exécution du code :
[0 => 'a', 2 => 'c']
Exemple
Comparaison de tableaux associatifs (les clés sont ignorées, seules les valeurs sont comparées) :
<?php
$arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
$arr2 = ['x' => 2, 'y' => 3];
$res = array_diff($arr1, $arr2);
print_r($res);
?>
Résultat de l'exécution du code :
['a' => 1]
Voir aussi
-
la fonction
array_intersect,
qui renvoie les éléments communs des tableaux