array_filter
(PHP 4 >= 4.0.6)
array_filter --
Filtra elementos de una matriz mediante una función "callback"
Descripción
array
array_filter ( array input [, callback function])
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.
Ejemplo 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().