(PHP 4, PHP 5)
array_walk — Прилага потребителска функция към всеки елемент на даден масив
Прилага потребителската функция funcname към всеки елемент на масива array .
array_walk() не зависи от вътрешния указател на масива array . array_walk() ще обходи целия масив независимо от положението на указателя.
Входният масив.
Обикновено funcname приема два параметъра. Стойността на параметъра array като първи и ключ/индекс като втори.
Забележка: Ако е необходимо функция funcname да работи с действителните стойности на масива, е необходимо да се предаде по референция първия параметър на funcname . Тогава всички промени на тези елементи ще се отразят на оригиналния масив.
Потребителите не могат да променят самия масив от обратно-извикващата функция т.е. да се добавят/изтриват елементи, унищожават елементи и т.н. Ако масивът, върху който се прилага array_walk() се промени, поведението на тази функция става непредвидимо.
Ако е установен незадължителният параметър userdata , то той ще бъде предаден като трети параметър на функцията за обратно извикване funcname .
Връща TRUE при успех или FALSE при неуспех.
Ако функция funcname изисква повече параметри отколкото са и предадени, ще се генерира грешка от ниво E_WARNING при всяко извикване на funcname от страна на функцията array_walk(). Извеждането на тези предупреждения може да се забрани, като се използва оператора @ пред функция array_walk() или посредством функция error_reporting().
Версия | Описание |
---|---|
4.0.0 | Добавено е предаване на ключа и userdata към funcname . |
Example #1 Пример за array_walk()
<?php
$fruits = array("d" => "лимон", "a" => "портокал", "b" => "банан", "c" => "ябълка");
function test_alter(&$item1, $key, $prefix)
{
$item1 = "$prefix: $item1";
}
function test_print($item2, $key)
{
echo "$key. $item2<br />\n";
}
echo "Преди ...:\n";
array_walk($fruits, 'test_print');
array_walk($fruits, 'test_alter', 'плод');
echo "... и след:\n";
array_walk($fruits, 'test_print');
?>
Примерът по-горе ще изведе:
Преди ...: d. лимон a. портокал b. банан c. ябълка ... и след: d. плод: лимон a. плод: портокал b. плод: банан c. плод: ябълка