array_walk Ejecuta una función proporcionada por el usuario en cada uno de los elementos de un array &reftitle.description; truearray_walk arrayobjectarray callablecallback mixedarg&null; Ejecuta la función callback definida por el usuario en cada elemento del array array. array_walk no es afectado por el puntero interno del array array. array_walk recorrerá el array en su totalidad sin tener en cuenta la posición del puntero. &reftitle.parameters; array El array de entrada. callback Típicamente, callback toma dos parámetros. El valor del parámetro array siendo el primero y la clave/índice, el segundo. Si callback debe trabajar con los verdaderos valores del array, especifique que el primer parámetro de callback debe ser pasado por referencia. Entonces, los elementos serán directamente modificados en el array. Varias funciones internas (por ejemplo, strtolower) emiten una alerta si más argumentos que los esperados son pasados a la función y no son utilizables directamente como callback. Solo los valores del array pueden ser modificados; su estructura no puede ser modificada, es decir, no se pueden añadir, eliminar o reordenar elementos. Si la función de callback no respeta esta regla, el comportamiento se volverá indefinido e impredecible. arg Si el parámetro opcional arg es proporcionado, será pasado como tercer parámetro a la función definida por el usuario callback. &reftitle.returnvalues; &return.true.always; &reftitle.errors; A partir de PHP 7.1.0, un ArgumentCountError será lanzado si la función callback requiere más de 2 parámetros (el valor y la clave del elemento del array), o más de 3 si arg también es proporcionado. Anteriormente, en este caso un error de nivel E_WARNING habría sido generado cada vez que la función array_walk llama a callback. &reftitle.changelog; &Version; &Description; &return.type.true; 8.0.0 Si callback espera que el segundo o tercer parámetro sea pasado por referencia, esta función ahora emite una E_WARNING. &reftitle.examples; Ejemplo con <function>array_walk</function> "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); function test_alter(&$item1, $key, $prefix) { $item1 = "$prefix: $item1"; } function test_print($item2, $key) { echo "$key. $item2\n"; } echo "Antes ...:\n"; array_walk($fruits, 'test_print'); array_walk($fruits, 'test_alter', 'fruit'); echo "... y después :\n"; array_walk($fruits, 'test_print'); ?> ]]> &example.outputs; Ejemplo de <function>array_walk</function> con el uso de una función anónima {$value}\n"; }); ?> ]]> &example.outputs; a 1 => b 2 => c ]]> &reftitle.seealso; array_walk_recursive iterator_apply list each call_user_func_array array_map &foreach;