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.

Esempio 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 risultato di questo sarą:

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.

Esempio 2. array_filter() senza callback

<?php

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

print_r(array_filter($entry));
?>

Questo mostrerą:

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

Vedere anche array_map() e array_reduce().