array_walk Aplicar una función proporcionada por el usuario a cada miembro de un array &reftitle.description; boolarray_walk arrayarray callablecallback mixeduserdata&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; Devuelve &true;. &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 miembro del array). Anteriormente, si la función callback requería más de 2 parámetros, se generaba un error de nivel E_WARNING cada vez que array_walk llamaba a callback. &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 list each call_user_func_array array_map &foreach;