Fonction array_walk() de PHP
Exemple
Applique une fonction utilisateur personnalisée à chaque élément du tableau :
<?php function myfunction($value,$key) { echo "La clé $key a la valeur $value<br>"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); ?>
Définition et utilisation
La fonction array_walk() applique une fonction utilisateur personnalisée à chaque élément du tableau. Dans la fonction, le nom de la clé et la valeur du tableau sont des paramètres.
Remarque :Vous pouvez changer la valeur d'un élément d'un tableau en spécifiant le premier paramètre de la fonction utilisateur personnalisée comme une référence : &$value (voir exemple 2).
Avis :Pour opérer sur des tableaux plus profonds (un tableau contenant un autre tableau), utilisez array_walk_recursive() Fonction.
Syntaxe
array_walk(array,myfunction,userdata...)
Paramètres | Description |
---|---|
array | Obligatoire. Définit le tableau. |
myfunction | Obligatoire. Nom de la fonction utilisateur personnalisée. |
userdata,... | Optionnel. Définit les paramètres de la fonction utilisateur personnalisée. Vous pouvez passer à cette fonction un nombre quelconque de paramètres. |
Description
La fonction array_walk() applique une fonction de rappel à chaque élément du tableau. Si elle réussit, elle retourne TRUE, sinon FALSE.
Dans le cas typique myfunction Accepte deux paramètres.array La valeur du paramètre est passée en premier, le nom de la clé en second. Si des paramètres optionnels sont fournis userdata Sera passée en tant que troisième paramètre à la fonction de rappel.
si myfunction nécessite plus de paramètres que ceux fournis, chaque appel à array_walk() myfunction provoque un message d'erreur de niveau E_WARNING. Ces avertissements peuvent être supprimés en ajoutant l'opérateur d'erreur PHP @ avant l'appel à array_walk() ou en utilisant error_reporting().
Remarque :Si la fonction de rappel doit agir directement sur les valeurs du tableau, vous pouvez spécifier le premier paramètre de la fonction de rappel en tant que référence : &$value. (Voir exemple 3).
Remarque :Porter les noms des clés et userdata transmise à myfunction est une nouvelle fonction ajoutée dans PHP 4.0.
Détails techniques
Valeur de retour : | Retourne TRUE si succès, FALSE sinon. |
Version PHP : | 4+ |
Plus d'exemples
Exemple 1
Définir un paramètre :
<?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"); ?>
Exemple 2
Changer la valeur d'un élément d'un tableau (attention à &$value) :
<?php function myfunction(&$value,$key) { $value="yellow"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); print_r($a); ?>