array_filter

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

array_filter Filtra gli elementi di un array usando una funzione callback

Descrizione

array_filter(array $input, callback $callback = ?): array

array_filter() esegue un'iterazione su ogni valore nell' array input passandolo alla funzione. Se funzione restituisce true, il valore corrente di input viene restituito nell'array risultato. Le chiavi sono mantenute.

Example #1 Esempio di array_filter()

<?php
function dispari($var)
{
return(
$var % 2 == 1);
}

function
pari($var)
{
return(
$var % 2 == 0);
}

$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);

echo
"Dispari :\n";
print_r(array_filter($array1, "dispari");
echo
"Pari :\n";
print_r(array_filter($array2, "pari");
?>

Il precedente esempio visualizzerà:

Dispari :
Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)
Pari:
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

Gli utenti non possono modificare l'array attraverso la funzione di callback, ad esempio aggiungere/togliere un elemento, o cancellare l'array su cui array_filter() è applicata. Se l'array viene cambiato, il comportamento di questa funzione non è definito.

Se la funzione callback non viene indicata, array_filter() rimuoverà tutti gli elementi di input che siano uguali a false. Vedere conversione a boolean per ulteriori informazioni.

Example #2 array_filter() senza callback

<?php

$entry
= array(
0 => 'pippo',
1 => false,
2 => -1,
3 => null,
4 => ''
);

print_r(array_filter($entry));
?>

Il precedente esempio visualizzerà:

Array
(
    [0] => pippo
    [2] => -1
)

Vedere anche array_map() e array_reduce().