Table des matières
array_map : effectuer un traitement unifié de chaque élément
array_filter : laissez les éléments conformes aux règles
array_reduce : concentrez le tableau dans un résultat
Maison développement back-end tutoriel php Décrivez les différences entre `array_map`,` array_filter` et `array_reduce` en php.

Décrivez les différences entre `array_map`,` array_filter` et `array_reduce` en php.

Jul 08, 2025 am 01:08 AM

La différence entre array_map, array_filter et array_reduce est: 1.Array_map traite uniformément chaque élément et renvoie un nouveau tableau; 2.Array_Filter Filtres des éléments qui remplissent les conditions, conservent la valeur d'origine ou modifient la valeur clé; 3.Array_reduce Condense le tableau en un résultat. Plus précisément, Array_Map convient pour transformer tous les éléments dans un tableau, tels que les opérations carrés pour générer un nouveau tableau; Array_Filter est utilisé pour filtrer les éléments qui remplissent les conditions et prend en charge le filtrage par défaut de fausses valeurs et les jugements de rappel personnalisés; Array_reduce comprime le tableau en une seule valeur par accumulation, tels que les chaînes de sommation ou d'épissage, et la valeur initiale peut être personnalisée ou le premier élément est utilisé par défaut. Les trois ont des utilisations claires, correspondant aux opérations de modification, de filtrage et d'agrégation.

Décrivez les différences entre `array_map`,` array_filter` et `array_reduce` en php.

Dans PHP, array_map , array_filter et array_reduce sont trois fonctions de traitement de la table couramment utilisées. Ils peuvent tous être utilisés en combinaison avec des fonctions de rappel pour faire fonctionner les tableaux, mais leurs utilisations respectives sont différentes. Autrement dit:

Décrivez les différences entre `array_map`,` array_filter` et `array_reduce` en php.
  • array_map : traitez chaque élément dans le tableau et renvoyez un nouveau tableau.
  • array_filter : Filtrez les éléments qui répondent aux critères, conservent la valeur d'origine ou modifiez la valeur de clé.
  • array_reduce : "rétractation" le tableau en valeur, comme le résumé, l'épissage, etc.

Jetons un coup d'œil à leur utilisation réelle et aux différences ci-dessous.


array_map : effectuer un traitement unifié de chaque élément

Cette fonction convient aux situations où vous souhaitez effectuer une transformation sur chaque élément du tableau. Il iratera sur le tableau, transmettra chaque élément à la fonction de rappel, puis collectera les valeurs de retour pour former un nouveau tableau.

Décrivez les différences entre `array_map`,` array_filter` et `array_reduce` en php.

Exemples d'utilisation courants:

 $ nombres = [1, 2, 3, 4];
$ squared = array_map (fn ($ n) => $ n * $ n, $ nombres);
// Résultats: [1, 4, 9, 16]
  • La fonction de rappel doit avoir une valeur de retour, sinon la position deviendra null .
  • Plusieurs tableaux peuvent être passés et les paramètres de rappel correspondent un par un (par exemple, deux tableaux sont ajoutés).
  • Les clés du tableau d'origine seront conservées à moins que vous ne réussisse plusieurs tableaux et que les clés ne soient pas cohérentes, puis elles seront fusionnées en fonction de l'index.

array_filter : laissez les éléments conformes aux règles

Utilisez cette fonction lorsque vous souhaitez choisir certains éléments qui répondent aux critères du tableau. Il ne modifiera pas la valeur de l'élément (sauf si vous le modifiez activement dans le rappel), il décide simplement de rester ou non.

Décrivez les différences entre `array_map`,` array_filter` et `array_reduce` en php.

Deux façons d'utiliser:

  • Un seul paramètre est passé : filtrez automatiquement les "fausses valeurs" (comme 0 , false , null , '' ).
  • Apportez une fonction de rappel : définissez vous-même la logique du jugement.
 $ nombres = [0, 1, 2, false, '', null, 3];

$ result = array_filter ($ nombres);
// Résultat: [1 => 1, 2 => 2, 6 => 3], ne laissant que la "valeur vraie"

$ même = array_filter ($ nombres, fn ($ n) => is_int ($ n) && $ n% 2 === 0);
// filtre les valeurs qui sont des entiers et même des nombres

Avis:

  • Si vous souhaitez conserver le nom de la clé d'origine, n'oubliez pas d'utiliser ARRAY_FILTER_USE_BOTH .
  • Si la fonction de rappel renvoie true , elle sera conservée et false elle sera exclue.

array_reduce : concentrez le tableau dans un résultat

C'est le plus flexible mais aussi le plus facile à mal comprendre. Il n'est pas utilisé pour générer un nouveau tableau, mais pour "accumuler" les résultats et comprimer l'ensemble du tableau en une valeur, tels que la somme, l'épissage de cordes, les calculs complexes, etc.

 $ nombres = [1, 2, 3, 4];
$ sum = array_reduce ($ Numbers, fn ($ Carry, $ item) => $ transport $ item, 0);
// Résultats: 10

Points clés:

  • $carry est le résultat de la dernière fois, la première fois est la valeur initiale (le troisième paramètre).
  • $item est l'élément actuellement traité.
  • La valeur initiale est facultative. S'il n'est pas adopté, le premier élément est par défaut être la valeur initiale et traité à partir du second.

Donnons un exemple un peu plus compliqué:

 $ word = ['pomme', 'banana', 'cerser'];
$ result = array_reduce ($ word, fn ($ str, $ word) => $ str. '-'. $ word);
// Résultat: «Apple-Banana-Cherry»

Fondamentalement, c'est tout. Bien que ces trois fonctions puissent être utilisées en conjonction avec des rappels, ils ont des responsabilités claires: map modifie chaque élément, filter en choisit une partie reduce tout en un résultat. Lorsque vous l'utilisez, vous pouvez écrire du code plus clair et concis en fonction de l'objectif.

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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment vérifier si une adresse e-mail est valide en PHP? Comment vérifier si une adresse e-mail est valide en PHP? Sep 21, 2025 am 04:07 AM

Usefilter_var () tovalidateemailsyntaxandcheckdnsrr () toverifydomainmxrecords.example: $ email = "user@example.com"; if (f ilter_var ($ e-mail, filter_validate_email) && checkdnsrr (explosage ('@', $ e-mail) [1], 'mx')) {echo "ValidAndDeliverableMail & Qu

Comment faire une copie profonde ou un clone d'un objet en PHP? Comment faire une copie profonde ou un clone d'un objet en PHP? Sep 21, 2025 am 12:30 AM

UseUnserialize (serialize ($ obj)) FordopcopyingwhenallDataisSerializable; Sinon, implémentez__Clone () TomanuallyDuplicatesedObjectsAndavoidSharedReferences.

Comment fusionner deux tableaux en php? Comment fusionner deux tableaux en php? Sep 21, 2025 am 12:26 AM

UseArray_merge () toCombineArrays, écrasant leduplicatestringKeysAndreIndexingNumericKeys; ForsimplecCaTencatenation, en particulierInphp5.6, usethesplatoperator [... $ array1, ... $ array2].

Comment utiliser des espaces de noms dans un projet PHP? Comment utiliser des espaces de noms dans un projet PHP? Sep 21, 2025 am 01:28 AM

NamespacesInphporganizEcodeAndPreventnamingConflictsBygroupingClasses, Interfaces, Functions et ConstantsunSunSaspecificName.2.DefineanamespaceusingTheNamesPaceSpaceKeyWordAtTopofaFile, suiviByTheNamesPacename, Suchasapp \ Controlers...USUSEUSEKEYWORDTOI

Quelles sont les méthodes magiques en PHP et fournissent un exemple de `__Call () 'et` __get ()'. Quelles sont les méthodes magiques en PHP et fournissent un exemple de `__Call () 'et` __get ()'. Sep 20, 2025 am 12:50 AM

La méthodiette () méthodiste axée sur le point de réviser la mise en œuvre de l'inscription, ce qui permet de faire de la maintenance à la qualité de qualité et

Comment mettre à jour un enregistrement dans une base de données avec PHP? Comment mettre à jour un enregistrement dans une base de données avec PHP? Sep 21, 2025 am 04:47 AM

ToupDateAdatabasereCorDinPhp, FirstConnectUsingPDoOrmysQLi, theNusepreparedStationStoExECUSEASECURSQLUPDATEQUERY.example: $ pdo = newPDO ("MySql: host = localhost; dbname = votre_database", $ username, $ mot de passe); $ sql = "dameussem =.

Comment obtenir l'extension de fichier en php? Comment obtenir l'extension de fichier en php? Sep 20, 2025 am 05:11 AM

UsePathinfo ($ nom de fichier, pathinfo_extension) togetThefileExtension; itreliabblyHandlesMultipledototsEdGasases, renvoyantTheExtension (par exemple, "pdf") oranemptystringefNoneExists.

MySQL Aggrégation conditionnelle: Instruction de cas d'utilisation pour mettre en œuvre le résumé de la condition et le comptage des champs MySQL Aggrégation conditionnelle: Instruction de cas d'utilisation pour mettre en œuvre le résumé de la condition et le comptage des champs Sep 16, 2025 pm 02:39 PM

Cet article explique en profondeur comment utiliser les instructions de cas pour effectuer une agrégation conditionnelle dans MySQL pour atteindre la sommation conditionnelle et le comptage de champs spécifiques. Grâce à un cas de système d'abonnement pratique, il montre comment calculer dynamiquement la durée totale et le nombre d'événements en fonction de l'état des enregistrements (tels que "end" et "annuler"), surmontant ainsi les limites des fonctions de somme traditionnelles qui ne peuvent pas répondre aux besoins d'une agrégation conditionnelle complexe. Le tutoriel analyse en détail l'application des instructions de cas en détail et souligne l'importance de la fusion lorsqu'il s'agit des valeurs nulles possibles de la jointure gauche.

See all articles