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