array_walk ()

Функція array_walk (масив, функція [, дані]) застосовує створену користувачем функцію до всіх елементів масиву масив і повертає true у разі успішного виконання операції і false - в протилежному випадку.

Функція користувача, як правило, має два аргументи, у які по черзі передаються значення і ключ кожного елемента масиву. Але якщо при виконанні функції array_walk () вказано третій аргумент, то він буде розглянутий, як значення третього аргументу для функції користувача, зміст якого визначає сам користувач. Якщо функція користувача потребує більше аргументів, ніж у неї передано, то при кожному виклику array_walk () буде видаватися попередження.

Якщо необхідно працювати з реальними значеннями масиву, а не з їх копіями, слід передавати аргумент на функцію по посиланню. Однак потрібно мати на увазі, що не можна додавати або видаляти елементи масиву і проводити дії, що змінюють сам масив, оскільки в цьому випадку результат роботи array_walk () вважається невизначеним.

Приклад. Застосування функції до всіх елементів масиву

<? Php
$books1 = array (
"А. С. Пушкін" => "Руслан і Людмила",
"Л. Н. Толстой" => "Війна і мир",
"М. Ю. Лермонтов" => "Герой нашого часу");
// Створюємо функцію, яку хочемо
// Застосувати до елементів масиву

function try_walk ($val, $key, $data) {
echo "$data \" $val \ "написав $key <br>";
}
// Застосовуємо до всіх елементів масиву
// $books1 функцію try_walk
array_walk ($books1, "try_walk", "Роман");
?>

У результаті роботи скрипта одержимо:
Роман "Руслан і Людмила" написав А.С. Пушкін
Роман "Війна і мир" написав Л.М. Толстой
Роман "Герой нашого часу" написав М.Ю. Лермонтов