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

phparray_diff(array1, array2, array3, ...);

Exemple

Comparons deux tableaux et trouvons les éléments du premier qui ne sont pas dans le second :

php<?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 :

php[0 => 1, 2 => 3]

Exemple

Comparaison de trois tableaux :

php<?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 :

php[0 => 'a', 2 => 'c']

Exemple

Comparaison de tableaux associatifs (les clés sont ignorées, seules les valeurs sont comparées) :

php<?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 :

php['a' => 1]

Voir aussi

  • la fonction array_intersect,
    qui renvoie les éléments communs des tableaux