Función array_diff

La función array_diff compara arrays y devuelve los elementos del primer array que están ausentes en los demás arrays pasados. Las claves de los elementos se conservan. El primer parámetro es el array principal, los siguientes son los arrays para comparar.

Sintaxis

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

Ejemplo

Comparemos dos arrays y encontremos los elementos del primero que no están en el segundo:

php<?php
  $arr1 = [1, 2, 3, 4];
  $arr2 = [2, 4, 5];
  $res = array_diff($arr1, $arr2);
  print_r($res);
?>

Resultado de la ejecución del código:

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

Ejemplo

Comparación de tres arrays:

php<?php
  $arr1 = ['a', 'b', 'c', 'd'];
  $arr2 = ['b', 'd'];
  $arr3 = ['d', 'e'];
  $res = array_diff($arr1, $arr2, $arr3);
  print_r($res);
?>

Resultado de la ejecución del código:

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

Ejemplo

Comparación de arrays asociativos (las claves se ignoran, solo se comparan los valores):

php<?php
  $arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
  $arr2 = ['x' => 2, 'y' => 3];
  $res = array_diff($arr1, $arr2);
  print_r($res);
?>

Resultado de la ejecución del código:

php['a' => 1]

Ver también

  • la función array_intersect,
    que devuelve los elementos comunes de los arrays