Funções PHP |
. Glossários Funções PHP - array_filter ( ) |
array_filter -- Filtra os elementos de um array utilizando uma função
array array_filter ( array input [, callback callback])
array_filter() passa por cada valor de input passando-os para a função callback. Se a função callback retornar true, o valor atual de input é retornado na matriz resultado. Os índices das matrizes são preservados.
Exemplo:
<?php
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.
Se a função callback não é
indicada, array_filter() irá remover todas
as entradas de input que são igual a FALSE.
Veja convertendo
para booleano para maiores informações.