array_map
(PHP 4 >= 4.0.6, PHP 5)
array_map -- Applique une fonction sur les éléments d'un tableau
Description
array
array_map ( callback 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(), dans les arguments supplémentaires
....
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); print_r($b); ?>
|
L'exemple ci-dessus va afficher : Array
(
[0] => 1
[1] => 8
[2] => 27
[3] => 64
[4] => 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); ?>
|
L'exemple ci-dessus va afficher : // Contenu de $c
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
)
// Contenu de $d
Array
(
[0] => Array
(
[1] => uno
)
[1] => Array
(
[2] => dos
)
[2] => Array
(
[3] => tres
)
[3] => Array
(
[4] => cuatro
)
[4] => Array
(
[5] => cinco
)
) |
|
Généralement, lors de l'utilisation de plusieurs tableaux, ils doivent
être d'égale longueur, car la fonction de callback est appliquée de manière
similaire à tous les tableaux. Si les tableaux sont de tailles inégales,
les plus petits seront complétés avec des éléments vides.
Une utilisation intéressante de cette fonction est la construction
de tableaux de tableaux, facilement réalisée en passant la valeur
NULL comme nom de fonction de callback.
Exemple 3. Création d'un tableau de tableaux
<?php $a = array(1, 2, 3, 4, 5); $b = array("one", "two", "three", "four", "five"); $c = array("uno", "dos", "tres", "cuatro", "cinco"); $d = array("un", "deux","trois","quatre","cinq");
$d = array_map(null, $a, $b, $c, $d); print_r($d); ?>
|
L'exemple ci-dessus va afficher : Array
(
[0] => Array
(
[0] => 1
[1] => one
[2] => uno
[3] => un
)
[1] => Array
(
[0] => 2
[1] => two
[2] => dos
[3] => deux
)
[2] => Array
(
[0] => 3
[1] => three
[2] => tres
[3] => trois
)
[3] => Array
(
[0] => 4
[1] => four
[2] => cuatro
[3] => quatre
)
[4] => Array
(
[0] => 5
[1] => five
[2] => cinco
[3] => cinq
)
) |
|
Voir aussi
array_filter(),
array_reduce() et
array_walk().