recherche
Maisondéveloppement back-endtutoriel phpComprenez-vous vraiment PHP foreach ? Exemples d'utilisation très clairs

Dans le développement quotidien, utiliser le foreach de PHP pour parcourir les tableaux est presque standard. Il peut très facilement parcourir les clés et les valeurs du tableau. Mais comprenez-vous vraiment sa personnalité ?

Comment utiliser PHP foreach ?

Le site Web chinois php suivant utilise des exemples pour expliquer l'utilisation et les précautions de PHP foreach.

Par exemple : Il existe le tableau suivant :

$array = array(1,2,3,4,5);

Nécessite que la valeur de chaque élément du tableau $array soit augmentée de 1

Habituellement , nous pouvons utiliser les méthodes de traitement suivantes, première méthode :

foreach($array as $key => $value){
    $array[$key] = $value+1;
}

Vous pouvez également utiliser la méthode suivante, deuxième méthode :

foreach($array as &$value){
    $value = $value+1;
}

Dans des circonstances normales, ces deux méthodes d'écriture seront ne pose aucun problème. Les résultats sont les mêmes. Mais lorsque nous devrons utiliser $value dans le prochain programme, par exemple en attribuant une nouvelle valeur de 8 à $value, les résultats de la méthode 2 changeront étrangement.

foreach($array as &$value){
    $value = $value+1;
}
$value = 8;

Lors de l'impression de print_r($array), nous espérons afficher

Array ( [0] => 2 [1] => 3 [2] => 4 [3] => 5 [4] => 6 );

mais il affichera en réalité :

Array ( [0] => 2 [1] => 3 [2] => 4 [3] => 5 [4] => 8 ),

En d'autres termes, enfin Un élément devient 8.

Pourquoi cela se produit-il ?

En fait, $value dans la méthode 2 est une référence, et elle est globale Lorsque foreach est exécuté, la référence à $value est toujours valide, ce qui entraînera toute référence à $value en dehors. foreach. Les modifications affecteront le dernier élément de $array.

Alors comment résoudre ce problème ?

La méthode est très simple Puisque $value est toujours valide en dehors de foreach, nous pouvons supprimer $value une fois l'exécution de foreach terminée. Le code amélioré est le suivant :

foreach($array as &$value){
    $value = $value+1;
}
Unset($value);
$value = 8;

Maintenant, le programme affiche le dernier élément de $array comme 6, qui n'est plus affecté par la modification de $value.


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
Solution pour générer des fichiers Excel non ouverts en PHP avec Microsoft ExcelSolution pour générer des fichiers Excel non ouverts en PHP avec Microsoft ExcelAug 15, 2025 pm 08:03 PM

Cet article vise à résoudre le problème où les fichiers Excel générés à l'aide de PHP ne peuvent pas être ouverts dans Microsoft Excel, mais peuvent être ouverts avec des extensions de Chrome. En analysant les raisons courantes et en fournissant deux solutions pour modifier le type de contenu et utiliser la bibliothèque PHPSPreadsheet, nous aidons les développeurs à générer correctement et à exporter des fichiers Excel qui peuvent être ouverts normalement dans Microsoft Excel.

Calculez le pourcentage de variation des lignes de données adjacentes à LaravelCalculez le pourcentage de variation des lignes de données adjacentes à LaravelAug 15, 2025 pm 07:57 PM

Ce document décrit comment calculer le pourcentage de variation entre les lignes de données adjacentes dans une collection Laravel. Nous utiliserons la méthode map () pour itérer dans la collection et calculer le pourcentage de variation entre la ligne actuelle et la ligne suivante, et ajouter le résultat au nouveau champ «modifié». Le champ «modifié» de la dernière ligne de données sera défini sur 0.

Utilisez Vimeo PHP-SDK pour obtenir des vidéos privées restreintes du domaineUtilisez Vimeo PHP-SDK pour obtenir des vidéos privées restreintes du domaineAug 15, 2025 pm 07:45 PM

Ce document décrit comment utiliser le Vimeo PHP-SDK pour obtenir des vidéos privées restreintes de domaine sur le backend. En utilisant un jeton d'accès certifié, vous pouvez obtenir silencieusement ces vidéos à partir du backend sans obliger l'utilisateur frontal à se connecter à Vimeo. Cet article expliquera en détail comment générer et utiliser un jeton d'accès certifié et fournir un exemple de code et de précautions.

Tutoriel sur le calcul correct de la commission et du montant de la commission et de l'événement en PHPTutoriel sur le calcul correct de la commission et du montant de la commission et de l'événement en PHPAug 15, 2025 pm 07:27 PM

Cet article explique en détail comment calculer avec précision le montant total de la transaction et le montant du versement contenant des commissions en pourcentage en PHP. En réponse aux erreurs de calcul courantes, ce tutoriel fournit des formules correctes basées sur des principes mathématiques et combine des exemples de code réels pour guider les développeurs comment gérer les problèmes clés tels que la conversion en pourcentage, la précision des points flottants et les formats décimaux dans différentes régions pour garantir la précision des calculs financiers.

Résolvez le problème de l'acquisition de données JavaScript causée par des ID en double dans des éléments générés dynamiquementRésolvez le problème de l'acquisition de données JavaScript causée par des ID en double dans des éléments générés dynamiquementAug 15, 2025 pm 07:21 PM

Cet article vise à résoudre le problème que JavaScript / jQuery ne peut pas obtenir correctement les données pertinentes en raison de la duplication des ID dans le développement Web. En élaborant en détail l'importance de l'unicité de l'ID, nous fournissons deux solutions efficaces: l'une consiste à générer un ID unique pour les éléments dynamiques et à les combiner avec des sélecteurs relatifs pour obtenir des données; L'autre consiste à intégrer des données directement dans des éléments cliquables, simplifiant ainsi l'association des données et la logique d'acquisition et l'amélioration de la robustesse et de la maintenabilité du code.

Calculez correctement le prix total et le montant de l'événement, y compris les commissions / frais en PHPCalculez correctement le prix total et le montant de l'événement, y compris les commissions / frais en PHPAug 15, 2025 pm 07:12 PM

Ce didacticiel vise à résoudre les erreurs logiques courantes en PHP lors du calcul du prix total des transactions et des versements avec des commissions ou des frais. En analysant le problème de la gestion des commissions en tant que remises dans le code d'erreur, une méthode de calcul d'addition simple et directe est fournie pour garantir la précision du montant total de la transaction et du paiement mensuel, et évitez l'écart du montant causé par un calcul de pourcentage incorrect.

Correction de la pose pour passer des méthodes d'objet en fonction des fonctions de rappel dans PHPCorrection de la pose pour passer des méthodes d'objet en fonction des fonctions de rappel dans PHPAug 15, 2025 pm 07:03 PM

Cet article explore en profondeur comment passer correctement une méthode ou une fermeture d'objet en tant que fonction de rappel dans PHP. Contrairement aux langages tels que JavaScript, PHP a son propre mécanisme de traitement unique pour les types appelés. Nous distinguerons la différence entre l'attribution des fermetures aux propriétés des objets et la définition des méthodes de classe, et utiliser le code d'instance pour montrer comment transmettre des méthodes statiques et des méthodes d'instance en tant que fonctions de rappel pour éviter les erreurs d'appel commune à la méthode non définie et assurer la robustesse et la maintenabilité du code.

Utilisez Laravel pour afficher SQL SUM ()Utilisez Laravel pour afficher SQL SUM ()Aug 15, 2025 pm 06:57 PM

Cet article décrit comment afficher correctement les résultats agrégés obtenus via la fonction SQL SUM () dans une vue Laravel. L'exemple de code montre comment simplifier les noms de colonnes avec un alias et montre comment accéder et rendre le résultat dans un modèle de lame pour éviter l'erreur courante "appel à une fonction membre".

See all articles

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.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Porce de variable PHP expliquée
4 Il y a quelques semainesBy百草
Conseils pour écrire des commentaires PHP
4 Il y a quelques semainesBy百草
Commentant le code en php
4 Il y a quelques semainesBy百草

Outils chauds

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

MantisBT

MantisBT

Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

Navigateur d'examen sécurisé

Navigateur d'examen sécurisé

Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.