array_walk
(PHP 4, PHP 5)
array_walk — Exécute une fonction sur chacun des éléments d'un tableau
Description
Exécute la fonction funcname
définie par l'utilisateur
sur chaque élément du tableau array
.
array_walk() n'est pas affecté par le pointeur interne
du tableau array
.
array_walk() traversera le tableau en totalité
sans se soucier de la position du pointeur.
Liste de paramètres
-
array
-
Le tableau d'entrée.
-
funcname
-
Typiquement,
funcname
prend deux paramètres. La valeur du paramètreinput
étant le premier et la clé/index, le second.Note:
Si
funcname
doit travailler avec les véritables valeurs du tableau, spécifiez que le premier paramètre defuncname
doit être passé par référence. Alors, les éléments seront directement modifiés dans le tableau.Note:
Plusieurs fonctions internes (par exemple, strtolower()) émettent une alerte si plus d'arguments que ceux attendus sont passés à la fonction et ne sont pas utilisable directement comme
funcname
.Seules les valeurs du
array
peuvent être modifiées; sa structure ne peut pas, c'est à dire que vous ne pouvez ajouter, supprimer ou réordonner des éléments. Si la fonction de callback ne respecte pas cette règle, le comportement va devenir indéfini et imprévisible. -
userdata
-
Si le paramètre optionnel
userdata
est fourni, il sera passé comme troisième paramètre à la fonction définie par l'utilisateurfuncname
.
Valeurs de retour
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Erreurs / Exceptions
Si function
requiert plus de paramètres que ceux
donnés, une alerte E_WARNING
sera générée à chaque fois que la fonction array_walk()
appellera funcname
. Ces alertes peuvent ne pas
être affichées en utilisant l'opérateur d'erreur PHP
@ lors de l'appel
de la fonction array_walk() ou en utilisant
error_reporting().
Exemples
Exemple #1 Exemple avec array_walk()
<?php $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); function test_alter(&$item1, $key, $prefix) { $item1 = "$prefix: $item1"; } function test_print($item2, $key) { echo "$key. $item2<br />\n"; } echo "Avant ...:\n"; array_walk($fruits, 'test_print'); array_walk($fruits, 'test_alter', 'fruit'); echo "... et après :\n"; array_walk($fruits, 'test_print'); ?>
L'exemple ci-dessus va afficher :
Avant ...: d. lemon a. orange b. banana c. apple ... et après : d. fruit: lemon a. fruit: orange b. fruit: banana c. fruit: apple
Voir aussi
- array_walk_recursive() - Applique une fonction de rappel récursivement à chaque membre d'un tableau
- iterator_apply() - Appelle une fonction pour tous les éléments d'un itérateur
- create_function() - Crée une fonction anonyme
- list() - Assigne des variables comme si elles étaient un tableau
- each() - Retourne chaque paire clé/valeur d'un tableau
- call_user_func_array() - Appelle une fonction de rappel avec les paramètres rassemblés en tableau
- array_map() - Applique une fonction sur les éléments d'un tableau
- Informations sur le type callback
- foreach