Maison >développement back-end >tutoriel php >Quelle fonction PHP Array vous convient le mieux : array_map, array_walk ou array_filter ?

Quelle fonction PHP Array vous convient le mieux : array_map, array_walk ou array_filter ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-29 07:09:30672parcourir

Which PHP Array Function is Right for You: array_map, array_walk, or array_filter?

Comprendre la différence entre array_map, array_walk et array_filter

En PHP, ces trois fonctions sont couramment utilisées pour la manipulation de tableaux. Bien qu'ils partagent des similitudes dans l'utilisation des fonctions de rappel, ils diffèrent par leurs comportements spécifiques.

array_map :

  • Impossible de modifier le tableau d'origine.
  • Itère sur un seul tableau.
  • Renvoie un nouveau tableau avec des valeurs transformées.
  • Utile pour appliquer une opération spécifique à chaque élément d'un tableau.

array_walk :

  • Peut modifier le tableau d'origine.
  • Itère sur un seul tableau.
  • Renvoie vrai uniquement.
  • Utile pour effectuer des opérations nécessitant l'accès aux clés du tableau ou la modification des valeurs des éléments.

array_filter :

  • Filtre un tableau en fonction d'une fonction de prédicat.
  • Préserve les clés du tableau.
  • Renvoie un nouveau tableau contenant uniquement les éléments qui satisfont à la condition de filtre.

Différences clés :

Pour illustrer les différences, considérons l'exemple suivant :

<code class="php">$numbers = [2.4, 2.6, 3.5];

$map_result = array_map('floor', $numbers); // Round down each element
$walk_result = array_walk($numbers, function (&$v, $k) { $v = floor($v); }); // Round down each element in-place
$filter_result = array_filter($numbers, function ($a) { return $a > 2.5; }); // Filter out elements less than 2.5</code>

Sortie :

  • map_result : [2, 2, 3]
  • walk_result : true (pas de valeur de retour)
  • filter_result : [2.6, 3.5]

Comme vous pouvez le voir, array_map crée un nouveau tableau transformé, tandis que array_walk modifie directement le tableau d'origine. array_filter renvoie un sous-ensemble du tableau d'origine en fonction de la condition fournie.

En conclusion, bien que array_map, array_walk et array_filter partagent des similitudes, ils diffèrent par leurs capacités et sont les mieux adaptés à différents cas d'utilisation. Le choix de la fonction appropriée dépend des exigences spécifiques de la tâche à accomplir.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn