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, pas 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 comme ça que ça fonctionne.

Voici la précédence des opérateurs que vous avez appris, de la plus haute à la plus basse :

PrioritéOpérateurs
Plus haute** (puissance)
Haute* / %
Basse+ -

Pour outrepasser 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 rendre vos intentions claires. Cela rend votre code plus facile à lire et évite les résultats inattendus.

challenge icon

Défi

Facile

Lisez 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 vous assurer que l'addition se produit avant la multiplication :

(a + b) * c ** 2

Cela signifie : d'abord additionnez a et b, puis multipliez cette somme par c élevé à la puissance de 2.

Exemple :

Si les entrées sont 2, 3, et 4, la sortie devrait être 80 parce que :

  • D'abord, additionnez 2 + 3 = 5
  • Ensuite, calculez 4 ** 2 = 16
  • Enfin, multipliez 5 * 16 = 80

Aide-mémoire

PHP suit les règles de priorité des opérateurs lors de l'évaluation d'expressions avec plusieurs opérateurs :

PrioritéOpérateurs
La plus haute** (puissance)
Haute* / %
Basse+ -
<?php
echo 5 + 3 * 2; // Affiche : 11 (multiplication d'abord)
?>

Utilisez des parenthèses pour outrepasser l'ordre par défaut. Les opérations à l'intérieur des parenthèses sont é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)
?>

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