array_walk_recursive
array
Fonctions sur les tableaux
PHP Manual

# array_walk

(PHP 4, PHP 5)

array_walk — Exécute une fonction sur chacun des éléments d'un tableau

### Description

bool array_walk ( array `&$array` , callable `$funcname` [, mixed `$userdata` = `NULL` ] )

Exécute la fonction `funcname` définie par l'utilisateur sur chaque élément du tableau `array`.

array_walk() n'est pas affecté par le pointeur interne du tableau `array`. array_walk() traversera le tableau en totalité sans se soucier de la position du pointeur.

### Liste de paramètres

`array`

  Le tableau d'entrée.

`funcname`

  Typiquement, `funcname` prend deux paramètres. La valeur du paramètre `input` étant le premier et la clé/index, le second.

  > Note:

  > Si `funcname` doit travailler avec les véritables valeurs du tableau, spécifiez que le premier paramètre de `funcname` doit être passé par référence. Alors, les éléments seront directement modifiés dans le tableau.

  > Note:

  > Plusieurs fonctions internes (par exemple, strtolower()) émettent une alerte si plus d'arguments que ceux attendus sont passés à la fonction et ne sont pas utilisable directement comme `funcname`.

  Seules les valeurs du `array` peuvent être modifiées; sa structure ne peut pas, c'est à dire que vous ne pouvez ajouter, supprimer ou réordonner des éléments. Si la fonction de callback ne respecte pas cette règle, le comportement va devenir indéfini et imprévisible.

`userdata`

  Si le paramètre optionnel `userdata` est fourni, il sera passé comme troisième paramètre à la fonction définie par l'utilisateur `funcname`.

### Valeurs de retour

Cette fonction retourne `TRUE` en cas de succès ou `FALSE` si une erreur survient.

### Erreurs / Exceptions

Si `function` requiert plus de paramètres que ceux donnés, une alerte E_WARNING sera générée à chaque fois que la fonction array_walk() appellera `funcname`. Ces alertes peuvent ne pas être affichées en utilisant l'opérateur d'erreur PHP @ lors de l'appel de la fonction array_walk() ou en utilisant error_reporting().

### Exemples

Exemple #1 Exemple avec array_walk()

`<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
function test_alter(&$item1, $key, $prefix)
{
$item1 = "$prefix: $item1";
}
function test_print($item2, $key)
{
echo "$key. $item2<br />\n";
}
echo "Avant ...:\n";
array_walk($fruits, 'test_print');
array_walk($fruits, 'test_alter', 'fruit');
echo "... et après :\n";
array_walk($fruits, 'test_print');
?>`

L'exemple ci-dessus va afficher :

    Avant ...:
    d. lemon
    a. orange
    b. banana
    c. apple
    ... et après :
    d. fruit: lemon
    a. fruit: orange
    b. fruit: banana
    c. fruit: apple

### Voir aussi

- array_walk_recursive() - Applique une fonction de rappel récursivement à chaque membre d'un tableau
- iterator_apply() - Appelle une fonction pour tous les éléments d'un itérateur
- create_function() - Crée une fonction anonyme
- list() - Assigne des variables comme si elles étaient un tableau
- each() - Retourne chaque paire clé/valeur d'un tableau
- call_user_func_array() - Appelle une fonction de rappel avec les paramètres rassemblés en tableau
- array_map() - Applique une fonction sur les éléments d'un tableau
- Informations sur le type callback
- foreach

array_walk_recursive
array
Fonctions sur les tableaux
PHP Manual