Функция array_uintersect
La función array_uintersect calcula la intersección de arrays, utilizando una función callback para la comparación de valores. Retorna un array que contiene todos los elementos del primer array que están presentes en todos los demás arrays. La comparación de valores se realiza a través de una función callback definida por el usuario.
Sintaxis
array_uintersect(array $array1, array $array2, ..., callable $value_compare_func): array;
Ejemplo
Encontremos la intersección de dos arrays, comparando sus valores mediante una función callback:
<?php
$array1 = [1, 2, 3, 4, 5];
$array2 = [2, 4, 6, 8, 10];
$res = array_uintersect($array1, $array2, function($a, $b) {
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
});
print_r($res);
?>
Resultado de la ejecución del código:
[2, 4]
Ejemplo
Comparación de arrays de cadenas mediante una función personalizada:
<?php
$array1 = ['a', 'b', 'c', 'd', 'e'];
$array2 = ['b', 'd', 'f', 'h', 'j'];
$res = array_uintersect($array1, $array2, function($a, $b) {
return strcmp($a, $b);
});
print_r($res);
?>
Resultado de la ejecución del código:
['b', 'd']
Ver también
-
la función
array_intersect,
que calcula la intersección de arrays -
la función
array_intersect_assoc,
que calcula la intersección de arrays con comprobación adicional de índice -
la función
array_uintersect_assoc,
que calcula la intersección de arrays con comprobación adicional de índice, utilizando una función callback