array_filter

(PHP 4 >= 4.0.6)

array_filter --  Filtra os elementos de um array utilizando uma função

Descrição

array array_filter ( array input [, mixed callback])

array_filter() retorna um array contendo todos os elementos do array input filtrados de acordo com uma função aplicada. Se o array input for associativo, as chaves são preservadas.

Exemplo 1. Exemplo de array_filter()

function impar($var) {
    return ($var % 2 == 1);
}

function par($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 "Impares: \n";
print_r(array_filter($array1, "impar"));
echo "Pares: \n";
print_r(array_filter($array2, "par"));

A saída deste programa seria:
Impares:
Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)
Pares:
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

As funções utilizadas por array_filter() não devem alterar os valores do array.. Por exemplo, adicionar ou remover um elemento, pode apagar o array ao qual está sendo aplicada array_filter(). Se este array for alterado, o comportamento desta função se torna imprevisvel.

Veja também array_map() e array_reduce().