array_walk
(PHP 4, PHP 5)
array_walk — Aplikovať užívateľskú funkciu na každý člen poľa
Popis
Vracia TRUE pri úspechu alebe FALSE pri chybe.
Aplikuje užívateľom definovanú funkciu funkcia na každý prvok poľa pole . Typicky má funkcia dva parametre. Prvým je hodnota parametra poľa pole a druhým je kľúč/index. Ak je dostupný i voliteľný parameter userdata , odovzdá sa ako tretí parameter k spätnému volaniu funkcie funkcia .
Ak funkcia funkcia vyžaduje viac parametrov než jej bolo dané, vždy, keď array_walk() volá funkciu funkcia , vygeneruje sa chyba úrovne E_WARNING. Tieto výstrahy sa dajú potačiť pridaním PHP chybového operátora @ pred volanie array_walk() alebo pomocou error_reporting().
Note: Ak funkcia potrebuje pracovať s aktuálnymi hodnotami poľa, nastavte prvý parameter funkcia ako odkaz. Potom všetky zmeny, ktoré sa previedli týmto prvkom, sa vykonajú v pôvodnom poli.
Note: Predávanie kľúča a userdata funkcii funkcia bolo pridané v 4.0.0
array_walk() nie je ovplyvnená vnútorným ukazovateľom poľa pole . array_walk() prejde cez celé pole bez ohľadu na pozíciu ukazovateľa. Na resetovanie ukazovateľa použite reset(). V PHP 3 ukazovateľa resetuje array_walk().
Užívatelia nemusia zmeniť samotné pole zo spätného volania, t.j. Pridať/odstrániť prvky, vymazať prvky atď. Ak sa pole, na ktoré je array_walk() aplikovaná, zmení, správanie tejto funkcie nie je definované a nie je predvídateľné.
Example#1 array_walk() príklad
<?php
$ovocie = array("d"=>"citron", "a"=>"pomaranc", "b"=>"banan", "c"=>"jablko");
function test_alter(&$item1, $key, $prefix)
{
$item1 = "$prefix: $item1";
}
function test_print($item2, $key)
{
echo "$key. $item2<br>\n";
}
echo "Pred tym...:\n";
array_walk($ovocie, 'test_print');
array_walk($ovocie, 'test_alter', 'ovocie');
echo "... a potom:\n";
array_walk($ovocie, 'test_print');
?>
Výpisom horeuvedného programu bude:
Pred tym...: d. citron a. pomaranc b. banan c. jablko ... a potom: d. ovocie: citron a. ovocie: pomaranc b. ovocie: banan c. ovocie: jablko
Tiež pozri array_walk_recursive(), create_function(), list(), foreach, each() call_user_func_array() a array_map().