array_map

array_map -- Past de callback functie toe op de elementen van de gegeven arrays

Beschrijving

array array_map ( callback function, array arr1 [, array arr2...])

array_map( ) geeft een array terug met daarin alle elementen van arr1 nadat de callback function is toegepast op elk element . Het aantal parameters dat de callback function krijgt zou gelijk moeten zijn aan het aantal arrays dat wordt meegegeven aan array_map( ) .

Voorbeeld 1 . array_map( ) voorbeeld




$b heeft nu de volgende waarde :








Voorbeeld 2 . array_map( ) - met meer arrays

 
?php

 
function

 
show_Spanish(

 
$n

 
,

 
$m

 
)

 
{

 
return

 
"Het

 
getal

 
$n

 
wordt

 
$m

 
genoemd

 
in

 
het

 
Spaans"

 
;

 
}

 
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)

 
;

 
?



Dit resulteert in :

 
/

 
/

 
printout

 
of

 
$c

 
Array

 
(

 
[0

 
]

 
=

 
Het

 
getal

 
1

 
wordt

 
uno

 
genoemd

 
in

 
het

 
Spaans

 
[1

 
]

 
=

 
Het

 
getal

 
2

 
wordt

 
dos

 
genoemd

 
in

 
het

 
Spaans

 
[2

 
]

 
=

 
Het

 
getal

 
3

 
wordt

 
tres

 
genoemd

 
in

 
het

 
Spaans

 
[3

 
]

 
=

 
Het

 
getal

 
4

 
wordt

 
cuatro

 
genoemd

 
in

 
het

 
Spaans

 
[4

 
]

 
=

 
Het

 
getal

 
5

 
wordt

 
cinco

 
genoemd

 
in

 
het

 
Spaans

 
)

 
/

 
/

 
Printout

 
van

 
$d

 
Array

 
(

 
[0

 
]

 
=

 
Array

 
        (

 
[1

 
]

 
=

 
uno

 
        )

 
[1

 
]

 
=

 
Array

 
        (

 
[2

 
]

 
=

 
dos

 
        )

 
[2

 
]

 
=

 
Array

 
        (

 
[3

 
]

 
=

 
tres

 
        )

 
[3

 
]

 
=

 
Array

 
        (

 
[4

 
]

 
=

 
cuatro

 
        )

 
[4

 
]

 
=

 
Array

 
        (

 
[5

 
]

 
=

 
cinco

 
        )

 

)







Wanneer er twee of meer arrays gebruikt worden zijn ze normaal even lang , omdat de callback functie wordt toegepast in parallel op de corresponderende elementen . Als de arrays van ongelijke lengte zijn zal de kortste worden opgevuld met lege elementen .

Een interessante manier om deze functie te gebruiken is om een array van arrays te bouwen , hetgeen makkelijk kan worden gedaan door NULL te gebruiken als naam voor de callback functie .

Voorbeeld 3 . Een array van arrays maken






De output van het bovenstaande programma ziet er zo uit :






Zie ook array_filter( ) , array_reduce( ) , en array_walk( ) .