(PHP 4, PHP 5)
array_walk — Aplicar una función de usuario a cada miembro de un array
Aplica la función definida por el usuario dada por funcname a cada elemento del array dado por array.
array_walk() no le afecta el puntero de arrays interno de array. array_walk() recorrerá el array completo sin tener en cuenta la posición del puntero.
El array de entrada.
Normalmente, funcname asume dos parámetros. El primero, los valores de los parámetros de array, y el segundo la clave/índice.
Note:
Si funcname necesita trabajar con los valores reales del array, especifique el primer parámetro de funcname como una referencia. Así, cualquier cambio hecho a esos elementos serán hechos al mismo array original.
Sólo se pueden cambiar potencialmente los valores del parámetro array; no se puede alterar su estructura, esto es, el programador no puede añadir, destruir o reordenar elementos. Si la llamada de retorno no respeta este requisito, el comportamiento de esta función será indefinido e impredecible.
Si se proporciona el parámetro opcional userdata, éste será pasado como el tercer parámetro de la función de llamada de retorno dada por funcname.
Devuelve TRUE en caso de éxito o FALSE en caso de error.
Si la función funcname requiere más parámetros que los dados, se generará un error de nivel E_WARNING cada vez que array_walk() llame a funcname. Estas advertencias pueden ser suprimidas añadiendo al inicio el operador de error de PHP @ en la llamada a array_walk(), o usando error_reporting().
Example #1 Ejemplo de array_walk()
<?php
$frutas = array("d" => "limón", "a" => "naranja", "b" => "banana", "c" => "manzana");
function test_alter(&$elemento1, $clave, $prefijo)
{
$elemento1 = "$prefijo: $elemento1";
}
function test_print($elemento2, $clave)
{
echo "$clave. $elemento2<br />\n";
}
echo "Antes ...:\n";
array_walk($frutas, 'test_print');
array_walk($frutas, 'test_alter', 'fruta');
echo "... y después:\n";
array_walk($frutas, 'test_print');
?>
El resultado del ejemplo sería:
Antes ...: d. limón a. naranja b. banana c. manzana ... y después: d. fruta: limón a. fruta: naranja b. fruta: banana c. fruta: manzana