Статья: Применение функции ко всем элементам массива
Функция array_walk(массив, функция [, данные]) применяет созданную пользователем функцию ко всем элементаммассива массив и возвращает true в случае успешного выполнения операции и false – в противном случае.
Пользовательская функция, как правило, имеет два аргумента, в которые поочередно передаются значение и ключ каждого элемента массива. Но если при вызове функции array_walk() указан третий аргумент, то он будет рассмотрен как значениетретьего аргумента пользовательской функции, смысл которого определяет сам пользователь. Если функция пользователятребует больше аргументов, чем в нее передано, то при каждом вызове array_walk() будет выдаваться предупреждение.
Если необходимо работать с реальными значениями массива, а не с их копиями, следует передавать аргумент в функцию по ссылке. Однако нужно иметь в виду, что нельзя добавлять или удалять элементы массива и производить действия, изменяющие сам массив, поскольку в этом случае результат работы array_walk() считается неопределенным.
Пример 7.11. Применение функции ко всем элементам массива
В результате работы скрипта получим:
Заметим, что мы не изменили значений у элементов массива. Чтобы их изменить, надо было передавать значения в переменную$val функции try_walk по ссылке.
Пример 7.12. Применение функции ко всем элементам массива. Вариант 2
В результате работы скрипта получим: