Exécute une fonction sur chacun des membres d'un tableau.
int array_walk (array arr, string func, mixed userdata)
array_walk() exécute la fonction func
avec chaque élément du tableau arr. Les
éléments sont passés en tant que premier argument de la
fonction func. func doit être
une fonction définie par l'utilisateur, et non pas une fonction native
PHP. Vous ne pouvez pas utiliser array_walk() directement
avec @xref{function.str2lower,,str2lower()}, il faut absolument passer par une fonction utilisateur.
Si func a besoin de plus d'un argument, une alerte
sera générée pour chaque appel de func.
Ces alertes sont supprimées en ajoutant le suffixe '@' avant l'appel de
array_walk() ou simplement en utilisant
error_reporting().
Note :
Si func doit travailler avec les véritables
valeurs du tableau, spécifiez que le premier paramètre de
func doit être passé par
référence. Alors, les éléments seront directement
modifiés dans le tableau.
Note :
Passer les clés et userdata à
func a été ajouté en PHP 4.0.
En PHP 4, reset() doit être appelé si
nécessaire, car array_walk() ne réinitialise pas
automatiquement le tableau.
Exemple avec array_walk()
<?php
$fruits = array ("d"=>"citron", "a"=>"orange", "b"=>"banane", "c"=>"pomme");
function test_alter (&$item1, $key, $prefix) {
$item1 = "$prefix: $item1";
}
function test_print ($item2, $key) {
echo "$key. $item2<br>\n";
}
array_walk ($fruits, 'test_print');
reset ($fruits);
array_walk ($fruits, 'test_alter', 'fruit');
reset ($fruits);
array_walk ($fruits, 'test_print');
?>
Voir aussi
each() et
list().