Wie sieht die Operatorpriorität in PHP aus?
Jun 20, 2017 am 10:59 AMOperatorpriorität gibt an, wie „eng“ zwei Ausdrücke gebunden sind. Beispielsweise ergibt der Ausdruck 1 + 5 * 3 16 statt 18, da das Multiplikationszeichen („*“) eine höhere Priorität hat als das Pluszeichen („+“). Durch Klammern kann bei Bedarf eine Änderung der Priorität erzwungen werden. Beispiel: (1 + 5) * 3 hat den Wert 18.
Wenn Operatoren die gleiche Priorität haben, bestimmt ihre assoziative Richtung, ob die Auswertung von rechts nach links oder von links nach rechts erfolgen soll – siehe Beispiel unten.
In der folgenden Tabelle sind die Operatoren in der Reihenfolge ihrer Priorität von hoch nach niedrig aufgeführt. Operatoren in derselben Zeile haben dieselbe Priorität und die Richtung, in der sie kombiniert werden, bestimmt die Reihenfolge der Auswertung.
Die Operatorpriorität ist wie folgt
结合方向 | 运算符 | 附加信息 |
---|---|---|
无 | clone new | clone 和 new |
左 | [ | array() |
右 | ++ -- ~ (int) (float) (string) (array) (object) (bool) @ | 类型和递增/递减 |
无 | instanceof | 类型 |
右 | ! | 逻辑运算符 |
左 | * / % | 算术运算符 |
左 | + - . | 算术运算符和字符串运算符 |
左 | << >> | 位运算符 |
无 | == != === !== <> | 比较运算符 |
左 | & | 位运算符和引用 |
左 | ^ | 位运算符 |
左 | | | 位运算符 |
左 | && | 逻辑运算符 |
左 | || | 逻辑运算符 |
左 | ? : | 三元运算符 |
右 | = += -= *= /= .= %= &= |= ^= <<= >>= => | 赋值运算符 |
左 | and | 逻辑运算符 |
左 | xor | 逻辑运算符 |
左 | or | 逻辑运算符 |
左 | , | 多处用到 |
<?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 ?>
niedriger ist als die des T_IS_SMALLER_OR_EQUAL-Operators.
Beispiel Nr. 1: Richtungen kombinieren
Die Verwendung von Klammern kann oft die Lesbarkeit Ihres Codes verbessern, auch wenn sie nicht unbedingt erforderlich sind. Hinweis:Obwohl = eine niedrigere Priorität als die meisten anderen Operatoren hat, erlaubt PHP dennoch Ausdrücke wie die folgenden: if (!$a = foo ()), in In diesem Fall wird der Rückgabewert von foo() $a zugewiesen.Das obige ist der detaillierte Inhalt vonWie sieht die Operatorpriorität in PHP aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein
