array_walk Stosuje funkcję użytkownika do każdego elementu tablicy &reftitle.description; truearray_walk arrayobjectarray callablecallback mixedarg&null; Wykonuje zdefiniowaną przez użytkownika funkcję callback na każdym elemencie tablicy array. Na działanie array_walk nie wpływa pozycja wewnętrznego wskaźnika tablicy array. array_walk przetworzy wszystkie elementy tablicy niezależnie od pozycji tego wskaźnika. &reftitle.parameters; array Tablica wejściowa. callback Zazwyczaj callback przyjmuje dwa parametry. Pierwszym jest element tablicy array, natomiast drugim klucz lub numer indeksu tego elementu. Jeśli callback ma zmieniać wartości tablicy, należy określić pierwszy parametr callback jako referencję. W tym przypadku wszystkie zmiany dokonane przez tą funkcję będą dokonywane bezpośrednio na oryginalnej tablicy. Wiele wewnętrznych funkcji (na przykład strtolower) rzuci wyjątek, jeśli przekazanych zostanie więcej argumentów, niż oczekiwano i nie nadają się do użycia bezpośrednio jako callback. Tylko wartości tablicy array mogą być zmieniane; jej struktura nie może modyfikowana, czyli np. programista nie może dodać, usunąć lub zmieniać kolejności elementów. Jeśli funkcja zwrotna nie respektuje tych wymogów, to jej zachowanie będzie nieokreślone i nieprzewidywalne. arg Jeśli podany zostanie opcjonalny parametr arg, to zostanie on przekazany jako trzeci parametr do callback. &reftitle.returnvalues; &return.true.always; &reftitle.errors; Od PHP 7.1.0 wygenerowany zostanie ArgumentCountError jeśli funkcja callback wymaga więcej niż 2 parametry (wartość i klucz tablicy) lub więcej niż 3 parametry jeśli zostały przekazane również arg. Poprzednio w tym wypadku zostałby wygenerowany błąd poziomu E_WARNING za każdym razem kiedy array_walk wywoływałby callback. &reftitle.changelog; &Version; &Description; &return.type.true; 8.0.0 Jeśli callback oczekuje drugiego lub trzeciego parametru przekazanego przez referencję, wówczas ta funkcja wyemituje błąd E_WARNING. &reftitle.examples; Przykład użycia <function>array_walk</function> "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); function test_alter(&$element1, $key, $prefiks) { $element1 = "$prefiks: $element1"; } function test_print($element2, $key) { echo "$key. $element2\n"; } echo "Przed ...:\n"; array_walk ($fruits, 'test_print'); array_walk ($fruits, 'test_alter', 'fruit'); echo "... i po:\n"; array_walk ($fruits, 'test_print'); ?> ]]> &example.outputs; <function>array_walk</function> przykład z użyciem funkcji anonimowej {$value}\n"; }); ?> ]]> &example.outputs; a 1 => b 2 => c ]]> &reftitle.seealso; array_walk_recursive iterator_apply list each call_user_func_array array_map &foreach;