Avatar ·

Quelle est la différence entre array_map, array_walk et array_filter en PHP ?

Bonjour à tous ! Je viens de commencer à apprendre PHP et je n'arrive pas à comprendre la différence entre les fonctions array_map, array_walk et array_filter. Apparemment, elles prennent toutes un callback et l'appliquent à un tableau. Mais quand j'essaie de les utiliser dans du code réel, les résultats sont différents ou je ne comprends tout simplement pas laquelle choisir. Par exemple, j'ai un tableau de nombres : ```php $numbers = [1, 2, 3, 4, 5]; ``` Je veux : 1. Multiplier chaque nombre par 2. 2. Afficher chaque nombre avec le préfixe "Number: ". 3. Filtrer uniquement les nombres pairs. J'ai essayé array_map : ```php $doubled = array_map(function($n) { return $n * 2; }, $numbers); ``` Ça semble fonctionner, ça retourne un nouveau tableau. Mais array_walk peut aussi être utilisé ? Ou array_filter ? J'ai essayé array_walk : ```php array_walk($numbers, function(&$n) { $n *= 2; }); ``` Maintenant $numbers a changé. Et si je veux juste afficher, sans modifier ? Et array_filter : ```php $even = array_filter($numbers, function($n) { return $n % 2 == 0; }); ``` Là, ça semble...