array_map
(PHP 4 >= 4.0.6)
array_map --
Wykonuje funkcję zwrotną na elementach podanej tablicy
Opis
array
array_map ( callback funkcja_zwrotna, array tbl1 [, array tbl2...])
array_map() zwraca tablicę zawierającą wszystkie
elementy tablicy tbl1 po użyciu na każdej z nich
funkcji zwrotnej. Liczba parametrów funkcji zwrotnej powinna być równa
liczbie tablic przekazanych do funkcji array_map().
Przykład 1. Przykład użycia array_map()
function szescian($n) { return $n*$n*$n; }
$a = array(1, 2, 3, 4, 5); $b = array_map("szescian", $a); print_r($b);
|
Powyższy przykład wyświetli:
Array
(
[0] => 1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
) |
|
Przykład 2.
array_map() - używanie większej ilości tablic
function pokaz_po_Hiszpansku($n, $m) { return "Po Hiszpańsku liczba $n to $m"; }
function mapuj_na_Hiszpanski($n, $m) { return array ($n => $m); }
$a = array(1, 2, 3, 4, 5); $b = array("uno", "dos", "tres", "cuatro", "cinco");
$c = array_map("pokaz_po_Hiszpansku", $a, $b); print_r($c);
$d = array_map("mapuj_po_Hiszpansku", $a , $b); print_r($d);
|
Powyższy przykład wyświetli:
// Zmienna $c
Array
(
[0] => The number 1 is called uno in Spanish
[1] => The number 2 is called dos in Spanish
[2] => The number 3 is called tres in Spanish
[3] => The number 4 is called cuatro in Spanish
[4] => The number 5 is called cinco in Spanish
)
// Zmienna $d
Array
(
[0] => Array
(
[1] => uno
)
[1] => Array
(
[2] => dos
)
[2] => Array
(
[3] => tres
)
[3] => Array
(
[4] => cuatro
)
[4] => Array
(
[5] => cinco
)
) |
|
Zazwyczaj używając dwóch lub więcej tablic, powinny one być równej
długości, ponieważ funkcja zwrotna jest wykonywana na odpowiadających
sobie elementach tablic.
Jeśli tablice są różnych długości, krótsze będą rozszerzane używając
pustych elementów.
Interesującym sposobem użycia tej funkcji jest kontruowanie tablicy
tablic, co może być łatwo przeprowadzone przez podanie NULL jako nazwy
funkcji zwrotnej.
Przykład 3. Tworzenie tablicy tablic
$a = array(1, 2, 3, 4, 5); $b = array("one", "two", "three", "four", "five"); $c = array("uno", "dos", "tres", "cuatro", "cinco"); $d = array("jeden", "dwa", "trzy", "cztery", "pięć");
$e = array_map(null, $a, $b, $c, $d); print_r($e);
|
Powyższy przykład wyświetli:
Array
(
[0] => Array
(
[0] => 1
[1] => one
[2] => uno
[3] => jeden
)
[1] => Array
(
[0] => 2
[1] => two
[2] => dos
[3] => dwa
)
[2] => Array
(
[0] => 3
[1] => three
[2] => tres
[3] => trzy
)
[3] => Array
(
[0] => 4
[1] => four
[2] => cuatro
[3] => cztery
)
[4] => Array
(
[0] => 5
[1] => five
[2] => cinco
[3] => pięć
)
) |
|
Patrz także: array_filter(),
array_reduce().