Maison > Article > développement back-end > En quoi `array_map`, `array_walk` et `array_filter` diffèrent-ils dans leurs techniques de manipulation de tableaux ?
Rôles distincts : array_map, array_walk et array_filter
Alors que array_map, array_walk et array_filter impliquent tous de transmettre une fonction de rappel pour opérer sur un tableau, ils diffèrent par leur noyau fonctionnalité.
array_map excelle dans la transformation des éléments du tableau. Il mappe la sortie du rappel sur un nouveau tableau de la même longueur que le plus grand tableau d'entrée. Contrairement à array_walk, array_map conserve les valeurs du tableau d'origine inchangées.
array_walk se spécialise dans la modification des éléments du tableau sur place. Il parcourt le tableau, appelant le rappel pour chaque élément et permettant l'accès par clé. array_walk modifie directement le tableau d'entrée, une fonctionnalité qui manque à array_map.
array_filter conserve sélectivement les éléments en fonction de la vérification de la véracité du rappel. Il élague le tableau d'entrée, en créant un nouveau qui contient uniquement les éléments qui passent le filtre. array_filter préserve les clés, contrairement à array_map, mais contrairement à array_walk, il ne modifie pas le tableau d'origine.
Exemple :
<code class="php">$array = [2.4, 2.6, 3.5]; $mapResult = array_map('floor', $array); // Stays the same print_r($mapResult); // [2, 2, 3] array_walk($array, function (&$v, $k) { $v = floor($v); }); // Alters the array print_r($array); // [2, 2, 3] $filterResult = array_filter($array, function ($v) { return $v > 2.5; }); // Preserves keys print_r($filterResult); // [2.6, 3.5]</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!