array_map

Применение пользовательской функции ко всем элементам указанных массивов.
Синтаксис:

array array_map(mixed callback, array arr1 [, array ...])

Функция array_map() возвращает массив, который содержит элементы всех указанных массивов после обработки пользовательской функцией callback.
Количество параметров, передаваемых пользовательской функции, должно совпадать с количеством массивов, переданных функции array_map().

Пример испольльзования функции array_map(): Обработка одного массива

<?phpfunction cube($n) {
return $n*$n*$n;
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
?>

Приведенный пример выведет следующее:

Array(
[0] => 1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
)

Пример испольльзования функции array_map(): Обработка нескольких массивов

<?phpfunction show_Spanish($n, $m) {
return "Число $n по-испански - $m";
}
function map_Spanish($n, $m) {
return array ($n => $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);
?>

Приведенный пример выведет следующее:

// printout of $cArray(
[0] => Число 1 по-испански - uno
[1] => Число 2 по-испански - dos
[2] => Число 3 по-испански - tres
[3] => Число 4 по-испански - cuatro
[4] => Число 5 по-испански - cinco
)

// printout of $dArray(
[0] => Array
(
[1] => uno
)

[1] => Array
(
[2] => dos
)

[2] => Array
(
[3] => tres
)

[3] => Array
(
[4] => cuatro
)

[4] => Array
(
[5] => cinco
)

)

Обычно функцию array_map() применяют к массивам, имеющим одинаковую размерность. Если массивы имеют разную длину, то меньшие из них дополняются элементами с пустыми значениями.
Следует отметить, что если вместо имени обрабатывающей функции задать null, то будет создан массив массивов.
Пример испольльзования функции array_map(): Создание массива массивов

<?php$a = array(1, 2, 3, 4, 5);
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array_map(null, $a, $b, $c);
print_r($d);
?>

Приведенный пример выведет следующее:

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
)

)

Функция поддерживается PHP 4 >= 4.0.6, PHP 5