Funzione array_uintersect
La funzione array_uintersect calcola l'intersezione di array, utilizzando una funzione di callback per il confronto dei valori. Restituisce un array contenente tutti gli elementi del primo array che sono presenti in tutti gli altri array. Il confronto dei valori avviene tramite una funzione di callback definita dall'utente.
Sintassi
array_uintersect(array $array1, array $array2, ..., callable $value_compare_func): array;
Esempio
Troviamo l'intersezione di due array, confrontando i loro valori utilizzando una funzione di 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);
?>
Risultato dell'esecuzione del codice:
[2, 4]
Esempio
Confronto di array di stringhe utilizzando una funzione personalizzata:
<?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);
?>
Risultato dell'esecuzione del codice:
['b', 'd']
Vedi anche
-
la funzione
array_intersect,
che calcola l'intersezione di array -
la funzione
array_intersect_assoc,
che calcola l'intersezione di array con un'ulteriore verifica dell'indice -
la funzione
array_uintersect_assoc,
che calcola l'intersezione di array con un'ulteriore verifica dell'indice, utilizzando una funzione di callback