Функция array_walk() в PHP

Пример

Применение пользовательской функции к каждому элементу массива:

<?php
function myfunction($value,$key)
{
echo "The key $key has the value $value<br>";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction");
?>

Запуск примера

Определение и использование

Функция array_walk() применяет пользовательскую функцию к каждому элементу массива. В функции ключ и значение массива являются параметрами.

Комментарий:Вы можете изменить значение элемента массива, указав первый параметр пользовательской функции как ссылку: &$value (см. пример 2).

Совет:Если необходимо работать с более глубокими массивами (один массив содержит другой массив), используйте array_walk_recursive() функция.

Синтаксис

array_walk(array,myfunction,userdata...)
Параметры Описание
array Обязателен. Определяет массив.
myfunction Обязателен. Имя пользовательской функции.
userdata,... Дополнительные. Определяет параметры пользовательской функции. Вы можете передать этой функции любое количество параметров.

Описание

функция array_walk() применяет функцию-обратного вызова к каждому элементу массива. В случае успеха возвращает TRUE, в противном случае FALSE.

В типичном случае myfunction принимает два параметра.array Значение параметра является первым, а имя ключа — вторым. Если предоставлены дополнительные параметры userdata Будет передан в качестве третьего параметра функции-обратного вызова.

если myfunction функции требует больше параметров, чем указано, при каждом вызове array_walk() myfunction всегда генерируется ошибка уровня E_WARNING. Эти предупреждения можно подавить, добавив оператор ошибки PHP перед вызовом array_walk() или using error_reporting().

Комментарий:Если回调 функция должна напрямую действовать на значения массива, можно определить первый параметр回调 функции как ссылку: &$value. (См. пример 3)

Комментарий:Сочетать имя ключа и userdata передается в myfunction в PHP 4.0 была добавлена.

Технические детали

Возвратное значение: В случае успеха возвращает TRUE, в противном случае FALSE.
PHP версия: 4+

Более примеров

Пример 1

Установить параметр:

<?php
function myfunction($value,$key,$p)
{
echo "\$key $p $value<br>";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction","has the value");
?>

Запуск примера

Пример 2

Изменить значение элемента массива (обратите внимание на &$value):

<?php
function myfunction(&$value,$key)
{
$value="yellow";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction");
print_r($a);
?>

Запуск примера