Funzione array_walk() di PHP
Esempio
Applica una funzione personalizzata a ogni elemento dell'array:
<?php function myfunction($value,$key) { echo "La chiave $key ha il valore $value<br>"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); ?>
Definizione e uso
La funzione array_walk() applica una funzione personalizzata a ogni elemento dell'array. Nella funzione, i nomi delle chiavi e i valori dell'array sono parametri.
Note:Puoi modificare il valore degli elementi dell'array specificando il primo parametro della funzione personalizzata come riferimento: &$value (vedi esempio 2).
Suggerimento:Per operare su array più profondi (un array contenente un altro array), utilizzare array_walk_recursive() Funzione.
Sintassi
array_walk(array,myfunction,userdata...)
Parametri | Descrizione |
---|---|
array | Obbligatorio. Specifica l'array. |
myfunction | Obbligatorio. Il nome della funzione personalizzata utente. |
userdata,... | Opzionale. Specifica i parametri della funzione personalizzata utente. Puoi passare alla funzione qualsiasi numero di parametri. |
Descrizione
La funzione array_walk() applica una funzione di callback a ogni elemento dell'array. Se ha successo restituisce TRUE, altrimenti FALSE.
Nel caso tipico myfunction Accetta due parametri.array Il valore del parametro è il primo, il nome della chiave è il secondo. Se vengono forniti parametri opzionali userdata Sarà trasmesso come terzo parametro alla funzione di callback.
Se myfunction Se il numero di parametri necessari per la funzione è maggiore di quelli forniti, ogni chiamata a array_walk() myfunction Producirà un errore di livello E_WARNING. Questi avvisi possono essere soppressi aggiungendo l'operatore di errore di PHP @ prima della chiamata a array_walk() o usando error_reporting().
Note:Se la funzione di callback deve agire direttamente sui valori dell'array, è possibile specificare come primo parametro della funzione di callback un riferimento: &$value. (Vedere esempio 3)
Note:Associare il nome chiave e userdata Passato a myfunction In è stata aggiunta in PHP 4.0.
Dettagli tecnici
Valore di ritorno: | Restituisce TRUE se il processo è stato eseguito con successo, altrimenti FALSE. |
Versione PHP: | 4+ |
Più esempi
Esempio 1
Impostare un parametro:
<?php function myfunction($value,$key,$p) { echo "$key $p $value<br>"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction","has the value"); ?>
Esempio 2
Modificare il valore di un elemento dell'array (attenzione a &$value):
<?php function myfunction(&$value,$key) { $value="yellow"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); print_r($a); ?>