Forum und email
array_walk

array_walk

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

array_walk -- Použít uživatelskou funkci na všechny prvky pole

Popis

bool array_walk ( array &array, callback funcname [, mixed userdata] )

Aplikuje funkci func na všechny prvky pole arr. Funkci func se jako první argument předá hodnota a jako druhý klíč. Pokud je přítomen argument userdata, bude uživatelské funkci předán jako třetí argument.

Pokud func vyžaduje více než dva nebo tři argumenty (v závislosti na userdata), pro každé volání func z array_walk() se vygeneruje varování. Tato varování se dají potlačit přidáním znaku '@' před volání array_walk() nebo pomocí error_reporting().

Poznámka: Pokud func potřebuje pracovat přímo s daným polem, první argument func se musí předávat odkazem. Všechny změny těchto hodnot se pak promítnou přímo v arr.

Poznámka: Druhý a třetí argument func byly přidány v PHP 4.0.

V PHP 4 je třeba volat podle potřeby reset(), protože array_walk() sama vstupní pole neresetuje.

Příklad 1. Ukázka array_walk()

$fruits = array ("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");

function test_alter (&$item1, $key, $prefix) {
    $item1 = "$prefix: $item1";
}

function test_print ($item2, $key) {
    echo "$key. $item2<br>\n";
}

array_walk ($fruits, 'test_print');
reset ($fruits);
array_walk ($fruits, 'test_alter', 'fruit');
reset ($fruits);
array_walk ($fruits, 'test_print');

Viz také: each() a list().