array_walk Zastosuj funkcję użytkownika do każdego elementu tablicy Opis boolarray_walk arraytablica callbacknazwa_funkcji mixeddane &return.success; Wykonuje zdefiniowaną przez użytkownika funkcję nazwa_funkcji na każdym elemencie tablicy tablica. Zazwyczaj nazwa_funkcji przyjmuje dwa argumenty. Pierwszym jest element tablicy tablica, natomiast drugim klucz lub numer indeksu tego elementu. Jeśli do funkcji array_walk podany zostanie trzeci element, dane, będzie on przekazany do nazwa_funkcji jako jej trzeci argument. Jeśli nazwa_funkcji wymaga więcej parametrów niż zostało jej przekazanych, wygenerowany zostanie błąd poziomu E_WARNING dla każdego wywołania funkcji podanej jako parametr. Ostrzeżenia te mogą być wyciszone poprzez skorzystanie z operatora kontroli błędów @ przed wywołaniem array_walk, lub też poprzez użycie funkcji error_reporting. Jeśli nazwa_funkcji ma zmieniać wartości tablicy, należy określić pierwszy argument nazwa_funkcji jako referencję. W tym przypadku wszystkie zmiany dokonane przez tą funkcję będą dokonywane bezpośrednio na oryginalnej tablicy. Przekazywanie klucza i danych użytkownika do nazwa_funkcji zostało dodane w PHP 4.0.0. Na działanie array_walk nie wpływa pozycja wewnętrznego wskaźnika tablicy. array_walk przetworzy wszystkie elementy argumentu tablica, niezależnie odpozycji jej wewnętrznego wskaźnika. Użytkownicy nie mogą zmieniać samej tablicy z wnętrza funkcji zwrotnej, to jest dodawać/usuwać elementy, usuwać elementy tablicy na której jest wywoływana funkcja array_walk. Jeśli ta tablica zostanie zmieniona, funkcja może się zachowywać w sposób nieokreślony i nieprzewidywalny.. Przykład użycia <function>array_walk</function> "cytryna", "a"=>"pomarańcza", "b"=>"banan", "c"=>"jabłko"); function test_zmiana (&$element1, $klucz, $prefiks) { $element1 = "$prefiks: $element1"; } function test_wyswietlanie ($element2, $klucz) { echo "$klucz. $element2
\n"; } echo "Przed ...:\n"; array_walk ($owoce, 'test_wyswietlanie'); array_walk ($owoce, 'test_zmiana', 'owoc'); echo "... i po:\n"; array_walk ($owoce, 'test_wyswietlanie'); ?> ]]>
&example.outputs;
Patrz także: array_walk_recursive, create_function, list, foreach, each, call_user_func_array, and array_map i &seealso.callback;.