Aller au contenu

Fonction array_map de PHP : Guide complet

La fonction array_map de PHP est un outil essentiel pour transformer des tableaux de données. Elle permet aux développeurs d'appliquer une fonction de rappel (callback) à chaque élément d'un tableau, puis de retourner un nouveau tableau contenant les résultats. Il s'agit d'une technique polyvalente et puissante pour traiter des données en PHP, et elle peut être utilisée dans une grande variété d'applications.

Comment fonctionne array_map ?

La syntaxe de base de la fonction array_map est la suivante :

Syntaxe de la fonction array_map en PHP

php
array_map(callback, array1, array2, ...);

Ici, l'argument callback est la fonction qui sera appliquée à chaque élément des tableaux. Les autres arguments sont les tableaux à traiter. Par exemple, considérez le code suivant :

Exemple d'utilisation de la fonction array_map en PHP

php
<?php

$numbers = [1, 2, 3, 4, 5];

function square($n) {
    return $n * $n;
}

$squared = array_map('square', $numbers);

print_r($squared);

?>

Ce code définit une fonction simple, square, qui prend un nombre et retourne son carré. La fonction array_map est ensuite utilisée pour appliquer cette fonction à chaque élément du tableau $numbers. Le résultat est un nouveau tableau, $squared, qui contient les carrés des nombres d'origine.

Note sur les longueurs de tableau : Lorsque plusieurs tableaux sont passés à array_map, le traitement se poursuit jusqu'à ce que le tableau le plus long soit épuisé. Si les tableaux ont des longueurs inégales, les éléments manquants dans les tableaux plus courts sont automatiquement traités comme null.

Note sur la syntaxe moderne : À partir de PHP 7.4+, vous pouvez utiliser des fonctions fléchées pour des callbacks concis. Par exemple : array_map(fn($n) => $n * $n, $numbers);

Exemples concrets d'utilisation de array_map

La fonction array_map est extrêmement polyvalente et peut être utilisée dans de nombreux contextes différents. Voici quelques exemples pour vous donner une idée de sa puissance :

Transformer des tableaux de chaînes de caractères

Transformation de tableaux de chaînes de caractères à l'aide de la fonction array_map en PHP

php
<?php

$words = ['foo', 'bar', 'baz'];

function upper($str) {
    return strtoupper($str);
}

$upper_words = array_map('upper', $words);

print_r($upper_words);

?>

Dans cet exemple, la fonction array_map est utilisée pour convertir un tableau de chaînes de caractères en majuscules. La fonction upper prend une chaîne et retourne sa version en majuscules. Lorsque cette fonction est appliquée à chaque élément du tableau $words, le résultat est un nouveau tableau contenant les versions en majuscules des mots d'origine.

Combiner des tableaux avec array_map

Combinaison de tableaux avec array_map en PHP

php
<?php

$a = [1, 2, 3];
$b = [10, 20, 30];

function sum($a, $b) {
    return $a + $b;
}

$c = array_map('sum', $a, $b);

print_r($c);

?>

Dans cet exemple, deux tableaux, $a et $b, sont combinés en un troisième tableau, $c. La fonction sum prend deux arguments et retourne leur somme. La fonction array_map est utilisée pour appliquer cette fonction à chaque paire correspondante d'éléments dans $a et $b. Le résultat est un nouveau tableau, $c, qui contient les sommes des paires d'origine.

Conclusion

La fonction array_map de PHP est un outil incroyablement puissant pour transformer des tableaux de données. Que vous convertissiez des chaînes en majuscules, combiniez des tableaux ou effectuiez d'autres types de calculs, array_map est l'outil idéal pour la tâche. Grâce à sa syntaxe flexible et sa capacité à travailler avec plusieurs tableaux simultanément, c'est une fonction incontournable pour tout développeur PHP.

Pratique

Qu'est-ce qui est vrai concernant la fonction array_map() en PHP ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.