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,
funcnameprend deux paramètres. La valeur du paramètreinputétant le premier et la clé/index, le second.Note:
Si
funcnamedoit travailler avec les véritables valeurs du tableau, spécifiez que le premier paramètre defuncnamedoit ê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
arraypeuvent ê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
userdataest 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
