(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.
input
El array sobre el cual iterar.
callback
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.
Ejemplo #1 Ejemplo de array_filter()
<?php
function odd($var)
{
// Retorna siempre que el número entero sea impar
return($var & 1);
}
function even($var)
{
// Retorna siempre que el número sea impar
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 )
Ejemplo #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.