(PHP 4, PHP 5)
array_walk — Esegue una funzione su ogni elemento dell'array
     Restituisce TRUE in caso di successo, FALSE in caso di fallimento.
    
     Esegue la funzione definita dall'utente identificata da funzione 
     su ogni elemento di array. Normalmente
     funzione accetta due parametri.
     Il valore del parametro array viene passato per primo,
     la chiave/indice per secondo. Se il parametro datiutente
     è specificato, verrà passato come terzo parametro alla 
     funzione callback.
    
     Se funzione richiede più parametri di
     quanti gliene vengono passati, un errore di livello 
     E_WARNING verrà generato ogni volta che array_walk()
     la chiama. Questi avvertimenti possono essere soppressi
     apponendo l'operatore d'errore 
     @ alla
     chiamata di array_walk(), oppure usando
     error_reporting().
    
Nota:
Se
funzionedeve lavorare con i reali valori dell'array, specificare che il primo parametro difunzionedeve essere passato come riferimento. A qesto punto ogni modifica a questi elementi verrà effettuata sull'array stesso.
Nota:
Il passaggio della chiave e di
datiutenteafuncè stato aggiunto nella versione 4.0.
     array_walk() non è influenzato dal puntatore
     interno dell'array array. 
     array_walk() percorrerà l'intero array
     indipendentemente dalla posizione del puntatore. Per reinizializzare il puntatore, utilizzare
     reset(). In PHP 3,
     array_walk() reinizializza il puntatore.
    
Gli utenti non possono modificare l'array attraverso la funzione di callback, ad esempio aggiungere/togliere un elemento, o cancellare l'array su cui array_walk() è applicata. Se l'array viene cambiato, il comportamento di questa funzione non è definito ed è imprevedibile.
Example #1 esempio di array_walk()
<?php
$frutta = array("d"=>"limone", "a"=>"arancia", "b"=>"banana", "c"=>"mela");
function modifica(&$elemento1, $chiave, $prefisso) 
{
    $elemento1 = "$prefisso: $elemento1";
}
function stampa($elemento2, $chiave) 
{
    echo "$chiave. $elemento2<br />\n";
}
echo "Prima ...:\n";
array_walk($frutta, 'stampa');
array_walk($frutta, 'modifica', 'frutto');
echo "... e dopo:\n";
array_walk($frutta, 'stampa');
?>
Il risultato del programma sarà:
Prima ...: d. limone a. arancia b. banana c. mela ... e dopo: d. frutto: limone a. frutto: arancia b. frutto: banana c. frutto: mela
Vedere anche array_walk_recursive(), create_function(), list(), foreach, each(), call_user_func_array() e array_map()