array_map
Applique une fonction sur les éléments d'un tableau
&reftitle.description;
arrayarray_map
callablecallback
arrayarray1
array...
array_map retourne un tableau
contenant tous les éléments du tableau array1,
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.
&reftitle.parameters;
callback
La fonction de rappel à exécuter pour chaque élément de chaque
tableau.
array1
Un tableau à exécuter via la fonction de
callback.
...
Liste des tableaux à exécuter via la fonction de
callback.
&reftitle.returnvalues;
Retourne un tableau contenant tous les éléments du tableau
array1 après avoir appliqué la fonction de
callback sur chacun d'eux.
&reftitle.examples;
Exemple avec array_map
]]>
Le contenu de la variable $b sera :
1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
)
]]>
array_map : utilisation d'une fonction
quelconque (depuis PHP 5.3.0)
]]>
2
[1] => 4
[2] => 6
[3] => 8
[4] => 10
)
]]>
array_map : utilisation de plusieurs tableaux
$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);
?>
]]>
&example.outputs;
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 rappel 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 pour atteindre
la taille du plus grand.
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 rappel.
Création d'un tableau de tableaux
]]>
&example.outputs;
Array
(
[0] => 1
[1] => one
[2] => uno
)
[1] => Array
(
[0] => 2
[1] => two
[2] => dos
)
[2] => Array
(
[0] => 3
[1] => three
[2] => tres
)
[3] => Array
(
[0] => 4
[1] => four
[2] => cuatro
)
[4] => Array
(
[0] => 5
[1] => five
[2] => cinco
)
)
]]>
Le tableau retourné conservera les clés du tableau passé en argument,
si et seulement si, un seul tableau est passé. Si plusieurs tableaux
sont passés comme argument, le tableau retourné aura des clés sous la
forme d'entier.
array_map - avec des clés sous la forme de &string;
"value");
function cb1($a) {
return array ($a);
}
function cb2($a, $b) {
return array ($a, $b);
}
var_dump(array_map("cb1", $arr));
var_dump(array_map("cb2", $arr, $arr));
var_dump(array_map(null, $arr));
var_dump(array_map(null, $arr, $arr));
?>
]]>
&example.outputs;
array(1) {
[0]=>
string(5) "value"
}
}
array(1) {
[0]=>
array(2) {
[0]=>
string(5) "value"
[1]=>
string(5) "value"
}
}
array(1) {
["stringkey"]=>
string(5) "value"
}
array(1) {
[0]=>
array(2) {
[0]=>
string(5) "value"
[1]=>
string(5) "value"
}
}
]]>
&reftitle.seealso;
array_filter
array_reduce
array_walk
&seealso.callback;