array_walk

(PHP 3>= 3.0.3, PHP 4 , PHP 5)

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 function avec chaque élément du tableau array. Les éléments sont passés en tant que premier argument de la fonction function. function 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 function a besoin de plus d'un argument, une alerte sera générée pour chaque appel de function. Ces alertes sont supprimées en ajoutant le suffixe '@' avant l'appel de array_walk() ou simplement en utilisant error_reporting().

Note : Si function doit travailler avec les véritables valeurs du tableau, spécifiez que le premier paramètre de function 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 à function 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 create_function(), list(), foreach, each() et call_user_func_array().