(PHP 4 >= 4.0.6, PHP 5)
array_filter — Filtra elementos de un array usando una función de devolución de llamada
Itera sobre cada valor en el array input pasándolos a la función callback. Si la función callback retorna true, el valor actual desde input se retorna dentro del array de resultado. Las keys del array son preservadas.
El array sobre el cual iterar.
La función de devolución de llamada a usar.
Si no se suministra el parámetro callback, todas las entradas de input iguales a FALSE (ver converting to boolean) serán removidos.
Retorna el array filtrado.
Example #1 Ejemplo de array_filter()
<?php
function odd($var)
{
return($var & 1);
}
function even($var)
{
return(!($var & 1));
}
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);
echo "Odd :\n";
print_r(array_filter($array1, "odd"));
echo "Even:\n";
print_r(array_filter($array2, "even"));
?>
El resultado del ejemplo sería:
Odd : Array ( [a] => 1 [c] => 3 [e] => 5 ) Even: Array ( [0] => 6 [2] => 8 [4] => 10 [6] => 12 )
Example #2 array_filter() sin callback
<?php
$entry = array(
0 => 'foo',
1 => false,
2 => -1,
3 => null,
4 => ''
);
print_r(array_filter($entry));
?>
El resultado del ejemplo sería:
Array ( [0] => foo [2] => -1 )
Si el array es cambiado desde la función de devolución de llamada (por ejemplo elemento añadido, suprimido o unset) el comportamiento de esta función no está definido.