Funkcje Tablic
PHP Manual

array_walk

(PHP 4, PHP 5)

array_walkZastosuj 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.


Funkcje Tablic
PHP Manual