array_map Применяет callback-функцию ко всем элементам указанных массивов &reftitle.description; arrayarray_map callablecallback arrayarr1 array... Функция array_map возвращает массив, содержащий элементы arr1 после их обработки callback-функцией. Количество параметров, передаваемых callback-функции, должно совпадать с количеством массивов, переданным функции array_map. &reftitle.parameters; callback Callback-функция, применяемая к каждому элементу в каждом массиве. arr1 Массив, к которому применяется callback-функция. array Дополнительные массивы для обработки callback-функцией. &reftitle.returnvalues; Возвращает массив, содержащий все элементы arr1 после применения callback-функции к каждому из них. &reftitle.examples; Пример использования <function>array_map</function> ]]> В результате переменная $b будет содержать: 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125 ) ]]> Использование <function>array_map</function> вместе с lambda-функцией (начиная с версии PHP 5.3.0) ]]> 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 ) ]]> Пример использования <function>array_map</function>: обработка нескольких массивов $m)); } $a = array(1, 2, 3, 4, 5); $b = array("uno", "dos", "tres", "cuatro", "cinco"); $c = array_map("show_Spanish", $a, $b); print_r($c); $d = array_map("map_Spanish", $a , $b); print_r($d); ?> ]]> &example.outputs; Число 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-функции. Создание массива массивов ]]> &example.outputs; 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 ) ) ]]> Если массив-аргумент содержит строковые ключи, то результирующий массив будет содержать строковые ключи тогда и только тогда, если передан ровно один массив. Если передано больше одного аргумента, то результирующий массив будет всегда содержать числовые ключи. Использование <function>array_map</function> со строковыми ключами "value"); function cb1($a) { return array ($a); } function cb2($a, $b) { return array ($a, $b); } var_dump(array_map("cb1", $arr)); var_dump(array_map("cb2", $arr, $arr)); var_dump(array_map(null, $arr)); var_dump(array_map(null, $arr, $arr)); ?> ]]> &example.outputs; 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" } } ]]> &reftitle.seealso; array_filter array_reduce array_walk create_function &seealso.callback;