Приднестровская поддержка XOOPS
До сих пор мы выводили содержимое массивов с помощью циклов. Того же эффекта можно достичь при использовании функции array_walk(). Она позволяет последовательно применять самостоятельно созданную функцию ко всем элементам массива. Например, вывод всех элементов массива будет выглядеть так:
function f_print($value, $key) {
echo $key . ' => ' . $value . '<br>';
}
$Mass['Один'] = 1;
$Mass['Два'] = 2;
$Mass['Три'] = 3;
$Mass['Четыре'] = 4;
array_walk($Mass, "f_print");
// Выведет: Один => 1<br>Два => 2<br>Три => 3<br>Четыре => 4<br>
Или, например, можно изменить значения всех элементов массива, скажем, прибавив к ним число 10:
function f_change(&$value, $key, $var) {
$value += $var;
}
function f_print($value, $key) {
echo $key . ' => ' . $value . '<br>';
}
$Mass['Один'] = 1;
$Mass['Два'] = 2;
$Mass['Три'] = 3;
$Mass['Четыре'] = 4;
array_walk($Mass, "f_change", 10);
array_walk($Mass, "f_print");
// Выведет: Один => 11<br>Два => 12<br>Три => 13<br>Четыре => 14<br>
Чтобы иметь возможность изменить текущее значение элемента массива, необходимо передать в функцию ссылку на него. Это делается путем указания символа & перед именем переменной в описании функции. Переменная $var получает значение, указанное в третьем параметре функции array_walk().
Отправитель | Нити |
---|
6 пользователь(ей) активно (3 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 6 далее... |