Funkcja PHP array_walk()
Przykład
Aplikuj funkcję użytkownika do każdego elementu tablicy:
<?php function myfunction($value,$key) { echo "Klucz $key ma wartość $value<br>"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); ?>
Definicja i użycie
Funkcja array_walk() aplikuje funkcję użytkownika na każdy element tablicy. W funkcji te są parametrami klucz i wartość tablicy.
Komentarz:Możesz zmienić wartość elementu tablicy, ustawiając pierwszy parametr funkcji użytkownika jako odniesienie: &$value (zobacz przykład 2).
Wskazówka:Aby operować na głębszych tablicach (tablica zawiera inną tablicę), użyj array_walk_recursive() funkcja.
Gramatyka
array_walk(array,myfunction,userdata...)
Parametry | Opis |
---|---|
array | Wymagane. Określa tablicę. |
myfunction | Wymagane. Nazwa funkcji użytkownika. |
userdata,... | Opcjonalne. Określa parametry funkcji użytkownika. Możesz przekazać tej funkcji dowolną liczbę parametrów. |
Opis
Funkcja array_walk() aplikuje funkcję zwrotną na każdy element tablicy. Zwraca TRUE, jeśli sukces, w przeciwnym razie FALSE.
W typowych przypadkach myfunction Akceptuje dwa parametry.array Wartość parametru jako pierwszy, nazwa klucza jako drugi. Jeśli dostarczono opcjonalne parametry userdata Będzie przekazywane jako trzeci parametr do funkcji zwrotnej.
jeśli myfunction jeśli funkcja wymaga więcej parametrów niż podano, to każde wywołanie array_walk() myfunction powoduje generowanie błędu stopnia E_WARNING. Te ostrzeżenia można stłumić, dodając operator błędów PHP @ przed wywołaniem array_walk() lub użyciem error_reporting().
Komentarz:Jeśli funkcja zwrotna musi bezpośrednio działać na wartościach w tablicy, można jako pierwszy parametr funkcji zwrotnej指定引用:&$value。(Zobacz przykład 3)
Komentarz:Przekazanie klucza i userdata przekazywana do myfunction w PHP 4.0 jest nowo dodana.
Szczegóły techniczne
Zwracana wartość: | Zwraca TRUE, jeśli pomyślnie, w przeciwnym razie zwraca FALSE. |
Wersja PHP: | 4+ |
Więcej przykładów
Przykład 1
Ustawienie parametru:
<?php function myfunction($value,$key,$p) { echo "\$key $p $value<br>"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction","has the value"); ?>
Przykład 2
Zmiana wartości elementu tablicy (proszę zauważyć &$value):
<?php function myfunction(&$value,$key) { $value="yellow"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); print_r($a); ?>