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
array_diff(array1, array2, array3, ...);
Ejemplo
Comparemos dos arrays y encontremos los elementos del primero que no están en el segundo:
<?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:
[0 => 1, 2 => 3]
Ejemplo
Comparación de tres arrays:
<?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:
[0 => 'a', 2 => 'c']
Ejemplo
Comparación de arrays asociativos (las claves se ignoran, solo se comparan los valores):
<?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:
['a' => 1]
Ver también
-
la función
array_intersect,
que devuelve los elementos comunes de los arrays