Forum und email

array_filter

(PHP 4 >= 4.0.6, PHP 5)

array_filter — Filtra gli elementi di un array usando una funzione callback

Descrizione

array array_filter ( array $input [, callback $callback ] )

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 == 1);
}

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

$array1 = array("a"=>1"b"=>2"c"=>3"d"=>4"e"=>5);
$array2 = array(6789101112);

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(
             
=> 'pippo',
             
=> false,
             
=> -1,
             
=> null,
             
=> ''
          
);

print_r(array_filter($entry));
?>

Il precedente esempio visualizzerà:

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

Vedere anche array_map() e array_reduce().