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");
?>

Exemple de exécution

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 de exécution

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);
?>

Exemple de exécution