php применить функцию ко всем элементам массива
array_map
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
array_map — Применяет callback-функцию ко всем элементам указанных массивов
Описание
Список параметров
Возвращаемые значения
Возвращённый массив сохранит ключи аргумента массива тогда и только тогда, когда будет передан ровно один массив. Если передано более одного массива, возвращённый массив будет иметь последовательные целочисленные ключи.
Примеры
Пример #1 Пример использования array_map()
Пример #2 Использование array_map() вместе с лямбда-функцией
Пример #3 Пример использования array_map() : обработка нескольких массивов
Результат выполнения данного примера:
Обычно при обработке двух или более массивов, они имеют одинаковую длину, так как callback-функция применяется параллельно к соответствующим элементам массивов. Если массивы имеют различную длину, более короткие из них дополняется элементами с пустыми значениями до длины самого длинного массива.
Интересным эффектом при использовании этой функции является создание массива массивов, что может быть достигнуто путём использования значения null в качестве имени callback-функции.
Пример #4 Выполнение zip операции с массивами
Результат выполнения данного примера:
Пример #5 null callback только с array
Результат выполнения данного примера:
Пример #6 Использование array_map() со строковыми ключами
Результат выполнения данного примера:
Результат выполнения данного примера:
Смотрите также
User Contributed Notes 6 notes
Let’s assume we have following situation:
You may be looking for a method to extract values of a multidimensional array on a conditional basis (i.e. a mixture between array_map and array_filter) other than a for/foreach loop. If so, you can take advantage of the fact that 1) the callback method on array_map returns null if no explicit return value is specified (as with everything else) and 2) array_filter with no arguments removes falsy values.
So for example, provided you have:
To transpose rectangular two-dimension array, use the following code:
If you need to rotate rectangular two-dimension array on 90 degree, add the following line before or after (depending on the rotation direction you need) the code above:
$array = array_reverse($array);
array_map
array_map — Применяет callback-функцию ко всем элементам указанных массивов
Описание
Список параметров
Callback-функция, применяемая к каждому элементу в каждом массиве.
Массив, к которому применяется callback-функция.
Дополнительные массивы для обработки callback-функцией.
Возвращаемые значения
Возвращает массив, содержащий все элементы arr1 после применения callback-функции к каждому из них.
Примеры
Пример #1 Пример использования array_map()
Пример #2 Использование array_map() вместе с lambda-функцией (начиная с версии PHP 5.3.0)
Пример #3 Пример использования array_map() : обработка нескольких массивов
Результат выполнения данного примера:
Обычно при обработке двух или более массивов, они имеют одинаковую длину, так как функция обратного вызова применяется параллельно к соответствующим элементам массивов. Если массивы имеют различную длину, самый маленький из них дополняется элементами с пустыми значениями.
Интересным эффектом при использовании этой функции является создание массива массивов, что может быть достигнуто путем использования значения NULL в качестве имени callback-функции.
Пример #4 Создание массива массивов
Результат выполнения данного примера:
Если массив-аргумент содержит строковые ключи, то результирующий массив будет содержать строковые ключи тогда и только тогда, если передан ровно один массив. Если передано больше одного аргумента, то результирующий массив будет всегда содержать числовые ключи.
Пример #5 Использование array_map() со строковыми ключами
Результат выполнения данного примера:
Смотрите также
Php применить функцию ко всем элементам массива
Описание array array_map ( mixed callback, array array1 [, array array2. ] )
Пример 1. Пример использования array_map()
Array ( [0] => 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125 )
Пример 2. Пример использования array_map() : обработка нескольких массивов
$a = array(1, 2, 3, 4, 5);
$b = array(«uno», «dos», «tres», «cuatro», «cinco»);
Результат выполнения:
$a = array(1, 2, 3, 4, 5); $b = array(«one», «two», «three», «four», «five»); $c = array(«uno», «dos», «tres», «cuatro», «cinco»); Результатом выполнения вышеприведенной программы будет: |