Référence du langage
<<<
La précédence des opérateurs Les opérateurs arithmétiques
>>>

5.6 Les opérateurs
5 Référence du langage
 Manuel PHP

->La précédence des opérateurs
Les opérateurs arithmétiques
Les opérateurs d'assignation
Opérateurs sur les bits
Opérateurs de comparaison
Opérateur de contrôle d'erreur
Opérateur d'exécution
Opérateurs d'incrémentation et décrémentation
Les opérateurs logiques
Opérateurs de chaînes
Opérateurs de tableaux
Opérateur de type

5.6.1 La précédence des opérateurs

La priorité des opérateurs spécifie l'ordre dans lequel les valeurs doivent être analysées. Par exemple, dans l'expression 1 + 5 * 3 , le résultat est 16 et non 18 , car la multiplication ("*") a une priorité supérieure par rapport à l'addition ("+"). Des parenthèses peuvent être utilisées pour forcer la priorité, si nécessaire. Par exemple : (1 + 5) * 3 donnera 18 . Si la priorité d'opérateur est égale, l'associativité de gauche à droite est utilisée.

Le tableau suivant dresse une liste de la priorité des différents opérateurs dans un ordre croissant de priorité. Les opérateurs sur une même ligne ont une priorité équivalente et dans ce cas, leur association décide de l'ordre de leur évaluation.
Associativité Opérateurs Information additionnelle
non-associative new new
droite [ array
non-associatif ++ -- incrémentation/décrémentation
non-associatif ! ~ - (int) (float) (string) (array) (object) @ types
gauche * / % arithmétique
gauche + - . arithmétique et chaîne de caractères
gauche << >> bitwise
non-associatif < <= > >= comparaison
non-associatif == != === !== comparaison
gauche & bitwise et références
gauche ^ bitwise
gauche | bitwise
gauche && logique
gauche || logique
gauche ? : ternaire
droite = += -= *= /= .= %= &= |= ^= <<= >>= assignement
gauche and logique
gauche xor logique
gauche or logique
gauche , plusieurs utilisations

L'associativité de gauche signifie que l'expression est évaluée de gauche à droite, l'associativité de droite, l'inverse.
Associativité

<?php
$a
= 3 * 3 % 5; // (3 * 3) % 5 = 4
$a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2

$a = 1;
$b = 2;
$a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5
?>
Utilisez les parenthèses pour augmenter la lisibilité du code.

Note

Bien que ! soit prioritaire sur = , PHP va tout de même exécuter des expressions comme : if (!$a = foo()) . Dans cette situation, le résultat de foo() sera placé dans la variable $a .

<< La précédence des opérateurs >>
Référence du langage Les opérateurs Les opérateurs arithmétiques