Heim >Backend-Entwicklung >PHP-Problem >Welchen Vorrang haben PHP-Operatoren?
Priorität von PHP-Operatoren
Die Priorität von PHP-Operatoren beschreibt die Reihenfolge, in der Operationen ausgeführt werden, wenn der Computer Ausdrücke berechnet. Vorgänge mit höherer Priorität werden zuerst ausgeführt, gefolgt von Vorgängen mit niedrigerer Priorität. Wir sagen zum Beispiel oft, dass zuerst Multiplikation und Division durchgeführt werden und dann Addition und Subtraktion.
Reihenfolge der PHP-Operator-Rangfolge
In der folgenden Tabelle ist die Rangfolge der Operatoren von hoch nach niedrig aufgeführt. Operatoren in derselben Zeile haben dieselbe Priorität, und die Priorität der Operatoren wird im Ausdruck von links nach rechts ausgewertet.
优先级 | 结合方向 | 运算符 | 附加信息 |
---|---|---|---|
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 | 左 | , |
多处用到 |
Beispiel
Für Operatoren mit derselben Priorität bedeutet die linke assoziative Richtung, dass die Auswertung von links nach rechts erfolgt, und die rechte assoziative Richtung bedeutet das Gegenteil. Es ist möglich, dass ein Operator mit gleicher Priorität ohne assoziative Richtung nicht mit sich selbst kombiniert werden kann.
Zum Beispiel ist in PHP 1 < 1 eine unzulässige Anweisung, 1 <= 1 == 1 jedoch nicht. Weil <= eine höhere Priorität hat als ==.
<?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 ?>
Unter der Voraussetzung, dass wir uns über die Priorität von PHP-Operationen im Klaren sind, ist es am besten, beim Schreiben von Operatoren Klammern zu verwenden, um die Priorität zu kennzeichnen. Dies ist besser lesbar und auch eine gute Programmiergewohnheit.
Weitere PHP-Kenntnisse finden Sie auf der chinesischen PHP-Website!
Das obige ist der detaillierte Inhalt vonWelchen Vorrang haben PHP-Operatoren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!