Maison > développement back-end > tutoriel php > Quand utiliser array_map, array_walk et array_filter en PHP ?

Quand utiliser array_map, array_walk et array_filter en PHP ?

Barbara Streisand
Libérer: 2024-10-28 09:52:02
original
1038 Les gens l'ont consulté

 When to Use array_map, array_walk, and array_filter in PHP?

Expliquer les différences entre array_map, array_walk et array_filter

Les fonctions de tableau en PHP offrent des moyens pratiques de manipuler des tableaux. Parmi ceux-ci, array_map, array_walk et array_filter sont couramment utilisés. Bien qu'ils partagent des similitudes, il existe des distinctions clés dans leur comportement.

Aperçu des fonctionnalités

  • array_map : Applique une fonction de rappel à chacun élément du ou des tableaux et renvoie un nouveau tableau contenant les résultats.
  • array_walk : Applique une fonction de rappel à chaque élément du tableau et met à jour le tableau d'origine en place.
  • array_filter : Supprime les éléments du tableau en fonction d'une fonction de rappel, renvoyant un nouveau tableau contenant uniquement les éléments qui satisfont à la condition.

Différences clés

  • Modification du tableau : array_walk modifie le tableau d'origine, contrairement à array_map.
  • Accès par clé : array_walk permet l'accès aux clés du tableau dans la fonction de rappel, contrairement à array_map.
  • Valeurs de retour : array_map renvoie un nouveau tableau, tandis que array_walk renvoie true. array_filter renvoie également un nouveau tableau, mais ne contient que les éléments filtrés.
  • Itération : array_map peut parcourir plusieurs tableaux simultanément, tandis que array_walk n'itère que sur un seul tableau.
  • Transmission de données arbitraire : array_walk peut accepter un paramètre supplémentaire à transmettre au rappel, une option introduite dans PHP 5.3.
  • Longueur du tableau retourné : Le tableau résultant de array_map correspond à la longueur du plus grand tableau d'entrée, tandis que le tableau de array_walk ne change pas de longueur. array_filter renvoie un tableau qui correspond à la longueur des éléments filtrés.

Exemples illustratifs

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

// array_map
$b = array_map('floor', $a); // $a remains unchanged
print_r($b); // Output: [2, 2, 3]

// array_walk
array_walk($a, 'floor'); // Modifies $a
print_r($a); // Output: [2, 2, 3]

// array_filter
$c = array_filter($a, fn($v) => $v > 2.5); // Filter elements
print_r($c); // Output: [2.6, 3.5]</code>
Copier après la connexion

En conclusion, array_map, array_walk et array_filter ont chacun rôles spécifiques dans la manipulation des tableaux. Comprendre leurs différences permet aux développeurs de choisir la fonction la plus appropriée à leur tâche.

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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal