array_walk
(PHP 4, PHP 5, PHP 7, PHP 8)
array_walk — Застосовує задану користувачем функцію кожного елемента масиву
Опис
array_walk(array|object &$array, callable $callback, mixed $arg = null): bool
Застосовує функцію користувача callback
до кожного елементу масиву array
array_walk() не схильна до впливу внутрішнього покажчика масиву array
. . array_walk() обійде всі елементи масиву незалежно від позиції покажчика.
Список параметрів
array
Вхідний масив
callback
Зазвичай функція callback
приймає два параметри. Як перший параметр йде значення елемента масиву array
, а ключ - як другий.
Зауваження :
Якщо потрібно, щоб функція
callback
змінила значення у масиві, визначте перший параметрcallback
як посилання. Тоді всі зміни будуть застосовані до елементів оригінального масиву.
Зауваження :
Багато вбудованих функцій (наприклад, strtolower()) виводять попередження, якщо їм передано більше параметрів, ніж вони очікують, або які не можуть безпосередньо використовуватись у
callback
Потенційно змінені можуть бути лише значення масиву array
; структура самого масиву може бути змінена, тобто не можна додати, видалити чи змінити порядок елементів. Якщо callback-функція не відповідає цій вимогі, поведінка цієї функції стане невизначеною і непередбачуваною.
arg
Якщо вказано необов'язковий параметр arg
, він буде переданий як третій параметр в callback-функцію callback
Значення, що повертаються
Повертає true
Помилки
Починаючи з PHP 7.1.0, якщо callback
-функція вимагає більше двох параметрів (значення та ключ елемента масиву) або більше 3 параметрів, якщо також передається параметр arg
, буде викинуто виняток ArgumentCountError. Раніше в такому разі при кожному виклику callback
, генерувалася помилка рівня E_WARNING
список змін
Версия | Опис |
---|---|
8.0.0 | Якщо параметр callback очікує, що значення другого чи третього параметра буде передано за посиланням, функція тепер видасть помилку рівня E_WARNING |
Приклади
Приклад #1 Приклад використання array_walk()****
Loading...
Результат виконання наведеного прикладу:
До ...:
d. lemon
a. orange
b. banana
c. apple
... и после:
d. fruit: lemon
a. fruit: orange
b. fruit: banana
c. fruit: apple
Приклад #2 Приклад використання array_walk()** з анонімною функцією**
Loading...
Результат виконання наведеного прикладу:
0 => a
1 => b
2 => c
Дивіться також
- array_walk_recursive() - Рекурсивно застосовує функцію користувача до кожного елементу масиву
- iterator_apply() - Викликає функцію кожного елемента в итераторе
- list() - надає змінним значення схожим на масиви синтаксисом
- each() - Повертає поточну пару ключ/значення з масиву та зміщує його покажчик
- call_user_func_array() - Викликає callback-функцію з масивом параметрів
- array_map() - Застосовує callback-функцію до всіх елементів зазначених масивів
- foreach