array_map
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
array_map - Застосовує callback-функцію до всіх елементів зазначених масивів
Опис
array_map(?callable $callback, array $array, array ...$arrays): array
Функцияarray_map() повертає масив (array), що містить результати застосування callback
-функції до відповідного елементу array
(иarrays
, якщо вказано більше масивів), що використовується як аргумент callback-функції. Кількість параметрів, що передаються callback
-функції, що має збігатися з кількістю масивів, переданою функції array_map(). Зайві вхідні масиви ігноруються. Якщо надано недостатню кількість аргументів, викидається ArgumentCountError
Список параметрів
callback
callable, що застосовується до кожного елемента у кожному масиві.
null
може бути переданий як значення callback
для виконання zip операції з кількома масивами. Якщо вказано тільки array
array_map() поверне вхідний масив.
array
Массив, к которому применяетсяcallback
-функція.
arrays
Додаткові масиви для обробки callback
-функцією.
Значення, що повертаються
Повертає масив, що містить результати застосування callback
-функції до відповідного елементу array
(иarrays
, якщо вказано більше масивів), що використовується як аргумент для callback-функції.
Повернений масив збереже ключі аргументу масиву тоді і лише тоді, коли буде передано рівно один масив. Якщо передано більше одного масиву, повернутий масив матиме послідовні цілі ключі.
список змін
Версия | Опис |
---|---|
8.0.0 | Тепер функція видасть помилку рівня E_WARNING , якщо параметр callback-функції, переданої у параметр callback , очікує на передачу значення за посиланням. |
Приклади
Приклад #1 Приклад використання array_map()****
Loading...
В результаті змінна $b міститиме:
Array
(
[0] => 1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
)
Приклад #2 Использованиеarray_map()вместе с лямбда-функцией
Loading...
Array
(
[0] => 2
[1] => 4
[2] => 6
[3] => 8
[4] => 10
)
Приклад #3 Приклад використання array_map(): обробка кількох масивів
Loading...
Результат виконання наведеного прикладу:
// вывод $c
Array
(
[0] => Число 1 по-испански - uno
[1] => Число 2 по-испански - dos
[2] => Число 3 по-испански - tres
[3] => Число 4 по-испански - cuatro
[4] => Число 5 по-испански - cinco
)
// вывод $d
Array
(
[0] => Array
(
[1] => uno
)
[1] => Array
(
[2] => dos
)
[2] => Array
(
[3] => tres
)
[3] => Array
(
[4] => cuatro
)
[4] => Array
(
[5] => cinco
)
)
Зазвичай при обробці двох або більше масивів вони мають однакову довжину, так як callback-функція застосовується паралельно до відповідних елементів масивів. Якщо масиви мають різну довжину, більш короткі їх доповнюється елементами з порожніми значеннями до довжини найдовшого масиву.
Цікавим ефектом при використанні цієї функції є створення масиву масивів, що може бути досягнуто шляхом використання значення **null
**в качестве имени callback-функции.
Приклад #4 Виконання zip операції з масивами
Loading...
Результат виконання наведеного прикладу:
Array
(
[0] => Array
(
[0] => 1
[1] => one
[2] => uno
)
[1] => Array
(
[0] => 2
[1] => two
[2] => dos
)
[2] => Array
(
[0] => 3
[1] => three
[2] => tres
)
[3] => Array
(
[0] => 4
[1] => four
[2] => cuatro
)
[4] => Array
(
[0] => 5
[1] => five
[2] => cinco
)
)
Приклад #5null
** callback
тільки з array
**
Loading...
Результат виконання наведеного прикладу:
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
Приклад #6 Использованиеarray_map()** з рядковими ключами**
Loading...
Результат виконання наведеного прикладу:
array(1) {
["stringkey"]=>
array(1) {
[0]=>
string(5) "value"
}
}
array(1) {
[0]=>
array(2) {
[0]=>
string(5) "value"
[1]=>
string(5) "value"
}
}
array(1) {
["stringkey"]=>
string(5) "value"
}
array(1) {
[0]=>
array(2) {
[0]=>
string(5) "value"
[1]=>
string(5) "value"
}
}
Приклад #7array_map()** - асоціативні масиви**
Хотяarray_map() безпосередньо не підтримує використання ключа масиву як вхідні дані, це можна змоделювати за допомогою array_keys()
Loading...
Результат виконання наведеного прикладу:
array(3) {
[0]=>
string(24) "v1 - это Первый выпуск"
[1]=>
string(25) "v2 - это Второй выпуск"
[2]=>
string(24) "v3 - это Третий выпуск"
}
Дивіться також
- array_filter() - Фільтрує елементи масиву за допомогою callback-функції
- array_reduce() - Ітеративно зменшує масив до єдиного значення, використовуючи callback-функцію
- array_walk() - Застосовує задану користувачем функцію кожного елемента масиву