array_map() à plein régime
<?php
$array = array_map(function($a, $b) { return 1; },
range(0, 10),
array_fill(0, 1, 2),
array_fill(0, 100, 3), // not even used
);
print count($array); // 100
?>
array_map() applique une closure, son premier argument, à chaque élément d’un tableau, son second argument.
Lorsque la closure nécessite davantage de paramètres, ceux-ci peuvent être passés en troisième (et n-ième) argument sous forme de tableau. Si les paramètres supplémentaires sont en nombre insuffisant par rapport à ce que la closure attend, PHP lève une exception ArgumentCountError.
Si les paramètres supplémentaires sont en nombre excessif, PHP les ignore silencieusement.
Un appel à array_map() a du sens lorsque tous les tableaux fournis ont le même nombre d’éléments.
Lorsque les nombres d’éléments diffèrent, PHP exécute la fonction sur le plus grand tableau possible. Il fournit null chaque fois qu’un élément est manquant. C’est également le cas lorsque le tableau est superflu : ici, le dernier tableau compte 100 éléments et n’est pas utilisé dans la closure, mais force les résultats à avoir 100 entrées.
See Also
PHP Features
Last updated: 11 October 2026