array_map

array_map -- Applique sur fonction sur des tableaux

Description

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

array_map( ) retourne un tableau contenant tous les éléments du tableau arr1 , après leur avoir appliqué la fonction callback . Le nombre de paramètres de la fonction callback doit être égal au nombre de tableaux passés dans la fonction array_map( ) .

Exemple 1 . Exemple avec array_map( )

 
?php

 
function

 
cube(

 
$n

 
)

 
{

 
return

 
$n*$n*$n

 
;

 
  }

 
$a

 
=

 
array(1

 
,

 
2

 
,

 
3

 
,

 
4

 
,

 
5)

 
;

 
$b

 
=

 
array_map("cube"

 
,

 
$a)

 
;

 
?





Avec cet exemple , la variable $b contiendra array ( 1 , 8 , 27 , 64 , 125) ; .

Exemple 2 . array_map( ) - utilisation de plusieurs tableaux

 
?php

 
function

 
parle_espagnol(

 
$n

 
,

 
$m

 
)

 
{

 
return

 
"Le

 
nombre

 
$n

 
se

 
dit

 
$m

 
en

 
espagnol"

 
;

 
  }

 
function

 
map_espagnol($n

 
,

 
$m

 
)

 
{

 
return

 
array($n

 
=

 
$m)

 
;

 
  }

 
$a

 
=

 
array(1

 
,

 
2

 
,

 
3

 
,

 
4

 
,

 
5)

 
;

 
$b

 
=

 
array("uno"

 
,

 
"dos"

 
,

 
"tres"

 
,

 
"cuatro"

 
,

 
"cinco")

 
;

 
$c

 
=

 
array_map("parle_espagnol"

 
,

 
$a

 
,

 
$b)

 
;

 
print_r($c)

 
;

 
/

 
/

 
Affichera

 
:

 
/

 
/

 
Array

 
/

 
/

 
(

 
/

 
/

 
[0

 
]

 
=

 
Le

 
nombre

 
1

 
se

 
dit

 
uno

 
en

 
espagnol

 
/

 
/

 
[1

 
]

 
=

 
Le

 
nombre

 
2

 
se

 
dit

 
dos

 
en

 
espagnol

 
/

 
/

 
[2

 
]

 
=

 
Le

 
nombre

 
3

 
se

 
dit

 
tres

 
en

 
espagnol

 
/

 
/

 
[3

 
]

 
=

 
Le

 
nombre

 
4

 
se

 
dit

 
cuatro

 
en

 
espagnol

 
/

 
/

 
[4

 
]

 
=

 
Le

 
nombre

 
5

 
se

 
dit

 
cinco

 
en

 
espagnol

 
/

 
/

 
)

 
$d

 
=

 
array_map("map_espagnol"

 
,

 
$a

 
,

 
$b)

 
;

 
print_r($d)

 
;

 
/

 
/

 
Affichera

 
:

 
/

 
/

 
Array

 
/

 
/

 
(

 
/

 
/

 
[0

 
]

 
=

 
Array

 
/

 
/

 
(

 
/

 
/

 
[1

 
]

 
=

 
uno

 
/

 
/

 
)

 
/

 
/

 
/

 
/

 
[1

 
]

 
=

 
Array

 
/

 
/

 
(

 
/

 
/

 
[2

 
]

 
=

 
dos

 
/

 
/

 
)

 
/

 
/

 
/

 
/

 
[2

 
]

 
=

 
Array

 
/

 
/

 
(

 
/

 
/

 
[3

 
]

 
=

 
tres

 
/

 
/

 
)

 
/

 
/

 
/

 
/

 
[3

 
]

 
=

 
Array

 
/

 
/

 
(

 
/

 
/

 
[4

 
]

 
=

 
cuatro

 
/

 
/

 
)

 
/

 
/

 
/

 
/

 
[4

 
]

 
=

 
Array

 
/

 
/

 
(

 
/

 
/

 
[5

 
]

 
=

 
cinco

 
/

 
/

 
)

 
/

 
/

 
/

 
/

 
)

 
?





Généralement , lorsque vous utilisez plusieurs tableaux , ils doivent être de même longueur , car la fonction de callback est appliqué à un élément de chaque tableau . Si les tableaux sont de taille inégale , les plus petits seront complétés avec des éléments vides .

Une utilisation interessante de cette fonction est de construire des tableaux de tableaux , grâce à la fonction de callback NULL .

Exemple 3 . array_map( ) - création d 'un tableau de tableaux

 
?php

 
$a

 
=

 
array(

 
1

 
,

 
2

 
,

 
3

 
,

 
4

 
,

 
5)

 
;

 
$b

 
=

 
array("un"

 
,

 
"deux"

 
,

 
"trois"

 
,

 
"quatre"

 
,

 
"cinq")

 
;

 
$c

 
=

 
array("uno"

 
,

 
"dos"

 
,

 
"tres"

 
,

 
"cuatro"

 
,

 
"cinco")

 
;

 
$d

 
=

 
array_map(null

 
,

 
$a

 
,

 
$b

 
,

 
$c)

 
;

 
print_r($d)

 
;

 
/

 
/

 
affichera

 
:

 
/

 
/

 
Array

 
/

 
/

 
(

 
/

 
/

 
[0

 
]

 
=

 
Array

 
/

 
/

 
(

 
/

 
/

 
[0

 
]

 
=

 
1

 
/

 
/

 
[1

 
]

 
=

 
un

 
/

 
/

 
[2

 
]

 
=

 
uno

 
/

 
/

 
)

 
/

 
/

 
/

 
/

 
[1

 
]

 
=

 
Array

 
/

 
/

 
(

 
/

 
/

 
[0

 
]

 
=

 
2

 
/

 
/

 
[1

 
]

 
=

 
deux

 
/

 
/

 
[2

 
]

 
=

 
dos

 
/

 
/

 
)

 
/

 
/

 
/

 
/

 
[2

 
]

 
=

 
Array

 
/

 
/

 
(

 
/

 
/

 
[0

 
]

 
=

 
3

 
/

 
/

 
[1

 
]

 
=

 
trois

 
/

 
/

 
[2

 
]

 
=

 
tres

 
/

 
/

 
)

 
/

 
/

 
/

 
/

 
[3

 
]

 
=

 
Array

 
/

 
/

 
(

 
/

 
/

 
[0

 
]

 
=

 
4

 
/

 
/

 
[1

 
]

 
=

 
quatre

 
/

 
/

 
[2

 
]

 
=

 
cuatro

 
/

 
/

 
)

 
/

 
/

 
/

 
/

 
[4

 
]

 
=

 
Array

 
/

 
/

 
(

 
/

 
/

 
[0

 
]

 
=

 
5

 
/

 
/

 
[1

 
]

 
=

 
cinq

 
/

 
/

 
[2

 
]

 
=

 
cinco

 
/

 
/

 
)

 
/

 
/

 
/

 
/

 
)

 
?





Voir aussi array_filter( ) et array_reduce( ) .