(PHP 4 >= 4.0.6, PHP 5)
array_filter — Filtra elementos de una matriz mediante una función "callback"
array_filter() repasa cada valor en la matriz input y lo pasa a la función callback . Si la función callback devuelve verdadero, el valor es devuelto a la matriz resultado. Los índices de la matriz se mantienen.
Example#1 Ejemplo de array_filter()
<?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"));
?>
La salida en pantalla del programa anterior será:
Impares : Array ( [a] => 1 [c] => 3 [e] => 5 ) Pares: Array ( [0] => 6 [2] => 8 [4] => 10 [6] => 12 )
No se debe modificar la matriz a la que array_filter() se aplica desde la función "callback", como p. ej. añadir o eliminar un elemento, o realizar un "unset()". Si la matriz es modificada el comportamiento de esta función no está definido.
Ver también array_map(), array_reduce(), y array_walk().