Popis
array
array_map
( callback funkcia, array pole1 [, array pole2...])
array_map(
)
vracia
pole
obsahujúce
všetky
elementy
poľa1
po
aplikovaní
spätného
volania
funkcie
na
každý
element
.
Počet
parametrov
,
ktoré
spätné
volanie
funkcie
akceptuje
,
by
sa
mal
zhodovať
s
počtom
polí
odoslaných
funkcii
array_map(
)
Príklad
1
.
array_map(
)
príklad
?php
function
cube(
$n
)
{
return
$n*$n*$n
;
}
$a
=
array(1
,
2
,
3
,
4
,
5)
;
$b
=
array_map("kocka"
,
$a)
;
print_r($b)
;
?
|
$b
bude
obsahovať
:
|
Príklad
2
.
array_map(
)
-
používanie
viacerých
polí
?php
function
show_Spanish(
$n
,
$m
)
{
return
"Číslo
$n
sa
po
španielsky
povie
$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)
;
?
|
Výsledkom
je
:
/
/
výpis
$c
Array
(
[0
]
=
Číslo
1
sa
po
španielsky
povie
uno
[1
]
=
Číslo
2
sa
po
španielsky
povie
dos
[2
]
=
Číslo
3
sa
po
španielsky
povie
tres
[3
]
=
Číslo
4
sa
po
španielsky
povie
cuatro
[4
]
=
Číslo
5
sa
po
španielsky
povie
cinco
)
/
/
výpis
$d
Array
(
[0
]
=
Array
(
[1
]
=
uno
)
[1
]
=
Array
(
[2
]
=
dos
)
[2
]
=
Array
(
[3
]
=
tres
)
[3
]
=
Array
(
[4
]
=
cuatro
)
[4
]
=
Array
(
[5
]
=
cinco
)
)
|
|
Zvyčajne
,
keď
sa
používajú
dve
alebo
viac
polí
,
mali
by
byť
rovnakej
dĺžky
,
pretože
spätné
volanie
funkcie
sa
aplikuje
paralelne
na
korešpondujúce
elementy
.
Ak
polia
nemajú
rovnakú
dĺžku
,
najkratšie
sa
rozšíri
o
prázdne
elementy
.
Zaujímavé
využitie
tejto
funkcie
je
vybudovanie
poľa
polí
,
ktoré
sa
dá
jednoducho
vytvoriť
použitím
NULL
ako
názvu
spätného
volania
funkcie
.
Príklad
3
.
Vytváranie
poľa
polí
?php
$a
=
array(
1
,
2
,
3
,
4
,
5)
;
$b
=
array("jeden"
,
"dva"
,
"tri"
,
"styri"
,
"pat")
;
$c
=
array("uno"
,
"dos"
,
"tres"
,
"cuatro"
,
"cinco")
;
$d
=
array_map(null
,
$a
,
$b
,
$c)
;
print_r($d)
;
?
|
|
Horeuvedený
program
vypíše
:
Array
(
[0
]
=
Array
(
[0
]
=
1
[1
]
=
jeden
[2
]
=
uno
)
[1
]
=
Array
(
[0
]
=
2
[1
]
=
dva
[2
]
=
dos
)
[2
]
=
Array
(
[0
]
=
3
[1
]
=
tri
[2
]
=
tres
)
[3
]
=
Array
(
[0
]
=
4
[1
]
=
styri
[2
]
=
cuatro
)
[4
]
=
Array
(
[0
]
=
5
[1
]
=
pat
[2
]
=
cinco
)
)
|
Tiež
pozri
array_filter(
)
,
array_reduce(
)
a
array_walk(
)
.