array_walkAplicar una función proporcionada por el usuario a cada miembro de un array
&reftitle.description;
boolarray_walkarrayarraycallablecallbackmixeduserdata&null;
Aplica la función definida por el usuario dada por callback 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.
&reftitle.parameters;
array
El array de entrada.
callback
Normalmente, callback asume dos parámetros.
El primero, los valores de los parámetros de array, y el segundo
la clave/índice.
Si callback necesita trabajar con los
valores reales del array, especifique el primer parámetro de
callback como una
referencia. Así,
cualquier cambio hecho a esos elementos serán hechos al mismo
array original.
Muchas funciones internas (por ejemplo strtolower)
lanzarán una advertencia si se pasan más argumentos de los
esperados y no son utilizables directamente como
callback.
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.
userdata
Si se proporciona el parámetro opcional userdata, éste
será pasado como el tercer parámetro de la función dada por
callback.
&reftitle.returnvalues;
&return.success;
&reftitle.errors;
Si la función callback requiere más parámetros que
los proporcionados, se generará un error de nivel
E_WARNING cada vez que array_walk
llame a callback.
&reftitle.examples;
Ejemplo de array_walk
"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 \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');
?>
]]>
&example.outputs;
&reftitle.seealso;
array_walk_recursiveiterator_applylisteachcall_user_func_arrayarray_map&seealso.callback;&foreach;