Priorité des opérateurs
Fait partie de la section Fondamentaux du Journey PHP de Coddy. Leçon 20 sur 71.
Lorsqu’une expression contient plusieurs opérateurs, PHP suit un ordre spécifique appelé priorité des opérateurs. Tout comme en mathématiques, la multiplication et la division sont effectuées avant l’addition et la soustraction.
<?php
echo 5 + 3 * 2; // Affiche : 11, pas 16
?>PHP multiplie d’abord 3 × 2 (obtenant 6), puis ajoute 5. Si les opérateurs avaient la même priorité, il effectuerait le calcul de gauche à droite : 5 + 3 = 8, puis 8 × 2 = 16. Mais ce n’est pas ainsi que cela fonctionne.
Voici la précédence, de la plus élevée à la plus faible, pour les opérateurs que vous avez appris :
| Priorité | Opérateurs |
| Plus élevée | ** (exponentiation) |
| Élevée | * / % |
| Faible | + - |
Pour remplacer l’ordre par défaut, utilise des parenthèses. Les opérations entre parenthèses sont toujours évaluées en premier :
<?php
echo (5 + 3) * 2; // Affiche : 16
echo 2 ** 3 * 2; // Affiche : 16 (8 * 2)
echo 2 ** (3 * 2); // Affiche : 64 (2^6)
?>En cas de doute, utilisez des parenthèses pour clarifier vos intentions. Cela rend votre code plus facile à lire et évite les résultats inattendus.
Défi
FacileLisez trois nombres depuis l’entrée : a, b et c.
Calculez et affichez le résultat de l’expression suivante, en utilisant des parenthèses pour garantir que l’addition s’effectue avant la multiplication :
(a + b) * c ** 2
Cela signifie : additionnez d’abord a et b, puis multipliez cette somme par c élevé à la puissance 2.
Exemple :
Si les entrées sont 2, 3 et 4, la sortie doit être 80 car :
- Tout d’abord, additionnez 2 + 3 = 5
- Ensuite, calculez 4 ** 2 = 16
- Enfin, multipliez 5 * 16 = 80
Essayez vous-même
<?php
// Lire l'entrée
$a = intval(fgets(STDIN));
$b = intval(fgets(STDIN));
$c = intval(fgets(STDIN));
// TODO: Écrivez votre code ci-dessous pour calculer (a + b) * c ** 2
// Afficher le résultat
echo $result;
?>Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs de comparaison et logiques
Opérateurs de comparaisonÉgalité et identitéOpérateurs logiques — Partie 1Opérateurs logiques — Partie 2Récapitulatif — Logique simple2Variables et types de données
NombresChaînes et guillemetsBooléensConventions de nommageRécapitulatif - initialisation des variablesVariables videsConcaténation de chaînesObtenir une saisie utilisateurConvertir vers différents types5Logique conditionnelle
Instruction ifIf - ElseOpérateur ternaireOpérateur de coalescence nulleInstruction switchRécapitulatif - Prendre des décisions3Opérateurs de base
Opérateurs arithmétiquesOpérateur moduloOpérateur d’exponentiationAffectation combinéeIncrémentation/DécrémentationPriorité des opérateursRécapitulatif - Calculs simplesOpérateurs sur les chaînesEntraînez-vous par vous-même : Compilateur PHP en ligne