Sommaire
Tableaux
array
array_chunk
array_count_values
array_diff
array_filter
array_flip
array_fill
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
|
6.2.27 array_walk[ Exemples avec array_walk ] PHP 3>= 3.0.3, PHP 4 >= 4.0.0Description
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 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.
|