Maison > Article > développement back-end > Quelle est la priorité des opérateurs php ?
Priorité des opérateurs PHP
La priorité des opérateurs PHP décrit l'ordre dans lequel les opérations sont effectuées lorsque l'ordinateur calcule des expressions. Les opérations avec une priorité plus élevée sont exécutées en premier, suivies par les opérations avec une priorité plus faible. Par exemple, nous disons souvent que la multiplication et la division sont effectuées en premier, puis les additions et les soustractions.
Ordre de priorité des opérateurs PHP
Le tableau suivant répertorie la priorité des opérateurs de haut en bas. Les opérateurs sur la même ligne ont la même priorité et la priorité des opérateurs est évaluée de gauche à droite dans l'expression.
优先级 | 结合方向 | 运算符 | 附加信息 |
---|---|---|---|
1 | 非结合 | clone new |
clone和new |
2 | 左 | [ |
array() |
3 | 非结合 | ++ -- |
递增/递减运算符 |
4 | 非结合 | ~-(int)(float)(string)(array)(object)(bool)@ |
类型 |
5 | 非结合 | instanceof |
类型 |
6 | 右结合 | ! |
逻辑操作符 |
7 | 左 | */ % |
算术运算符 |
8 | 左 | + -. |
算术运算符和字符串运算符 |
9 | 左 | 4e9674e4037f009f8f3f0cd5e931ebcf> |
位运算符 |
10 | 非结合 | 16c98208e588b1496786c257f71a5310>=a8093152e673feb7aba1828c43532094 |
比较运算符 |
11 | 非结合 | ==!====!== |
比较运算符 |
12 | 左 | & |
位运算符和引用 |
13 | 左 | ^ |
位运算符 |
14 | 左 | | |
位运算符 |
15 | 左 | && |
逻辑运算符 |
16 | 左 | || |
逻辑运算符 |
17 | 左 | ?: |
三元运算符 |
18 | 右 | =+=-=*=/= .= %= &= |= ^= 639513f5eb9d8dcbce09d6b5cb44cf73>= |
赋值运算符 |
19 | 左 | and |
逻辑运算符 |
20 | 左 | xor |
逻辑运算符 |
21 | 左 | or |
逻辑运算符 |
22 | 左 | , |
多处用到 |
Exemple
Pour les opérateurs ayant la même préséance, la direction associative gauche signifie que l'évaluation se fera de gauche à droite, et la direction associative droite signifie la opposé. . Il est possible qu'un opérateur avec la même préséance sans direction associative ne puisse pas être combiné avec lui-même.
Par exemple, en PHP 1 d66d2a93259ca9392db29f00ed43fda0 1 est une instruction illégale, mais 1 <= 1 == 1 ne l'est pas. Parce que <= a une priorité plus élevée que ==.
<?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 // mixing ++ and + produces undefined behavior $a = 1; echo ++$a + $a++; // may print 4 or 5 ?>
Donc, en partant du principe que nous sommes très clairs sur la priorité des opérations PHP, il est préférable d'utiliser des parenthèses pour marquer la priorité lors de l'écriture des opérateurs. C'est plus lisible et c'est aussi une bonne habitude de programmation.
Pour plus de connaissances sur PHP, veuillez visiter le site Web chinois de php !
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!