Manuel PHP
Précédent |  | Suivant

# 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().

Précédent | Sommaire | Suivant
array_values | Niveau supérieur | array