array_walk_recursive
array
Array Functions
PHP Manual

# array_walk

(PHP 4, PHP 5)

array_walk — Aplica una función del usuario a cada elemento de una matriz.

### Descripción

int array_walk ( array `&$matriz` , string `$func` [, mixed `$datosvarios` ] )

Devuelve `TRUE` si todo se llevó a cabo correctamente, `FALSE` en caso de fallo.

Aplica la función llamada `func` a cada elemento de la `matriz` . La función `func` recibirá el valor de la matriz como primer parámetro y la clave como segundo. Si se proporciona el parámetro `datosvarios` será pasado como tercer parámetro a la función de usuario.

Si `func` necesita más de dos o 3 argumentos, dependiendo de `datosvarios` , se generará un aviso cada vez que array_walk() llama a `func` . Estos avisos pueden suprimirse si se pone @ antes de la llamada a array_walk(), o usando la función error_reporting().

> Note: Si `func` precisa trabajar con los valores reales de la matriz, especifique que el valor del primer parámetro de `func` debe pasarse por referencia. Desde ese instante, los cambios realizados sobre dichos elementos también serán realizados en la propia matriz.

> Note: El pasar la clave y los datos de usuario a `func` fue una característica añadida en PHP 4.0.0

array_walk() no es afectado por el apuntador interno del parámetro `matriz` . array_walk() avanzará por toda la matriz sin importar la posición del apuntador. Para reinicializar el apuntador, use reset(). en PHP 3, array_walk() reinicializa el apuntador.

No se debe cambiar la matriz desde la llamada a la función, ej. agregar/borrar elementos, vaciar elementos, etc. si la matriz que está siendo usada por array_walk() cambia, el comportamiento de esta función será indefinido e impredecible.

Example #1 Ejemplo de array_walk()

`<?php
$frutas = array ("d"=>"limon", "a"=>"naranja", "b"=>"platano", "c"=>"manzana");
function test_alterar ($item1, $clave, $prefix) {
$item1 = "$prefix: $item1";
}
function test_ver ($item2, $clave) {
echo "$clave. $item2<br />\n";
}
echo "Antes...:\n";
array_walk ($frutas, 'test_ver');
array_walk ($frutas, 'test_alterar', 'fruta');
echo "...y despues:\n";
array_walk ($frutas, 'test_ver');
?>`

El resultado del ejemplo seria:

    Antes...:
    d. limon
    a. naranja
    b. platano
    c. manzana
    ...y despues:
    d. fruta: limon
    a. fruta: naranja
    b. fruta: platano
    c. fruta: manzana

Vea también array_walk_recursive(), create_function(), list(), foreach, each(), call_user_func_array(), array_map(), information about the callback type.

array_walk_recursive
array
Array Functions
PHP Manual