array_walk_recursive
array
Funkcje Tablic
PHP Manual

# array_walk

(PHP 4, PHP 5)

array_walk — Zastosuj funkcję użytkownika do każdego elementu tablicy

### Opis

bool array_walk ( array `&$tablica` , callback `$nazwa_funkcji` [, mixed `$dane` ] )

Zwraca `TRUE` w przypadku powodzenia, `FALSE` w przypadku błędu.

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().

> Informacja: 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.

> Informacja: 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 #1 Przykład użycia array_walk()

`<?php
$owoce = array ("d"=>"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<br />\n";
}
echo "Przed ...:\n";
array_walk ($owoce, 'test_wyswietlanie');
array_walk ($owoce, 'test_zmiana', 'owoc');
echo "... i po:\n";
array_walk ($owoce, 'test_wyswietlanie');
?>`

Powyższy przykład wyświetli:

    Przed ...:
    d. cytryna
    a. pomarańcza
    b. banan
    c. jabłko
    ... i po:
    d. owoc: cytryna
    a. owoc: pomarańcza
    b. owoc: banan
    c. owoc: jabłko

Patrz także: array_walk_recursive(), create_function(), list(), foreach, each(), call_user_func_array(), and array_map() i informacje o typie callback.

array_walk_recursive
array
Funkcje Tablic
PHP Manual