Menu
Coddy logo textTech

Operator Precedence

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, et non 16
?>

PHP multiplie d'abord 3 × 2 (obtenant 6), puis ajoute 5. Si les opérateurs avaient une priorité égale, il calculerait de gauche à droite : 5 + 3 = 8, puis 8 × 2 = 16. Mais ce n'est pas ainsi que cela fonctionne.

Voici l'ordre de priorité, de la plus élevée à la plus basse, pour les opérateurs que vous avez appris :

PrioritéOpérateurs
La plus élevée** (exponentiation)
Élevée* / %
Basse+ -

Pour modifier l'ordre par défaut, utilisez des parenthèses. Les opérations à l'intérieur des 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 des résultats inattendus.

challenge icon

Défi

Facile

Lisez trois nombres à partir de l'entrée : a, b et c.

Calculez et affichez le résultat de l'expression suivante, en utilisant des parenthèses pour vous assurer 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 devrait être 80 car :

  • 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;
?>
quiz iconTestez-vous

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