array_walk Aplicar una función de usuario a cada miembro de un array &reftitle.description; boolarray_walk arrayarray callbackfuncname mixeduserdata 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. &reftitle.parameters; array El array de entrada. funcname Normalmente, funcname asume dos parámetros. El primero, los valores de los parámetros de array, y el segundo la clave/índice. 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. Muchas funciones internas (por ejemplo strtolower) lanzarán una advertencia si se pasan más argumentos de los esperados y no so usables directamente como funcname. 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 de llamada de retorno dada por funcname. &reftitle.returnvalues; &return.success; &reftitle.errors; 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. &reftitle.examples; Ejemplo de <function>array_walk</function> "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_recursive iterator_apply create_function list each call_user_func_array array_map &seealso.callback; &foreach;