SommaireTelecharger la documentationChapitre suivantChapitre precedent  

 
Raccourci :  
Tableaux

array
array_count_values
array_diff
array_filter
array_flip
array_intersect
array_keys
array_map
array_merge
array_merge_recursive
array_multisort
array_pad
array_pop
array_push
array_reverse
array_reduce
array_rand
array_shift
array_slice
array_splice
array_sum
array_unique
array_unshift
array_values
array_walk
arsort
asort
compact
count
current
each
end
extract
in_array
array_search
key
krsort
ksort
list
natsort
natcasesort
next
pos
prev
range
reset
rsort
shuffle
sizeof
sort
uasort
uksort
usort

8.2.25 array_walk
[Notes en ligne] [Exemples]

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

int array_walk (array arr, string func, 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 @xref{function.str2lower,,str2lower()}, il faut absolument passer par une fonction utilisateur.
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 réinitialise pas automatiquement le tableau.

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


Voir aussi each() et list().


Chapitre précédentChapitre suivantAccueil nexen.net