array_walk

(PHP 3>= 3.0.3, PHP 4 )

array_walk --  Exécute une fonction sur chacun des membres d'un tableau.

Description

bool array_walk ( array array, callback function [, 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 str2lower(), il faut absolument passer par une fonction utilisateur. Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

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 reinitialise pas automatiquement le tableau.

Exemple 1. 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');
?>

L'affichage de ce script sera :

d. citron<br>
a. orange<br>
b. banane<br>
c. pomme<br>
d. fruit: citron<br>
a. fruit: orange<br>
b. fruit: banane<br>
c. fruit: pomme<br>

Voir aussi each() et list().