Función array_udiff
La función array_udiff compara arrays y devuelve los elementos del primer array que están ausentes en los arrays siguientes. Para comparar los elementos se utiliza una función callback que usted define mismo. El primer parámetro es el array principal para comparar, los parámetros siguientes son los arrays con los que se compara el primero.
Sintaxis
array_udiff(array1, array2, ..., callback): array;
Ejemplo
Comparemos dos arrays de números, usando una función callback para la comparación:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = [3, 4, 5, 6, 7];
$res = array_udiff($arr1, $arr2, function($a, $b) {
return $a <=> $b;
});
print_r($res);
?>
Resultado de ejecutar el código:
[1, 2]
Ejemplo
Comparemos arrays de cadenas mediante una función de comparación personalizada:
<?php
$arr1 = ['a', 'b', 'c', 'd'];
$arr2 = ['c', 'd', 'e', 'f'];
$res = array_udiff($arr1, $arr2, function($a, $b) {
return strcmp($a, $b);
});
print_r($res);
?>
Resultado de ejecutar el código:
['a', 'b']
Ejemplo
Comparación con múltiples arrays:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = [2, 3, 4];
$arr3 = [3, 4, 5];
$res = array_udiff($arr1, $arr2, $arr3, function($a, $b) {
return $a <=> $b;
});
print_r($res);
?>
Resultado de ejecutar el código:
[1]
Véase también
-
la función
array_diff,
que calcula la diferencia de arrays -
la función
array_intersect,
que calcula la intersección de arrays -
la función
array_udiff_assoc,
que calcula la diferencia con comprobación adicional de índices