|
|
|
Memory
|
|
|
|
Play it again, Sam.
|
|
|
'Punkt-Rechnung vor Strich-Rechnung'. Das kennt jeder und gilt natürlich auch in PHP. Kennen Sie aber den Unterschied bei der Oder-Verknüpfung in PHP zwischen '||' und 'or'? Seien Sie vorsichtig. Man kann sich schnell einen Fehler einhandeln, wenn man die Vorrangigkeit der Operatoren nicht berücksichtigt.
|
Der Vorrang der Operatoren bestimmt, in welcher Reihenfolge die Operationen ausgeführt werden. Operatoren mit höherem Rang werden vor denen mit einem niedrigeren Rang ausgeführt. Der Operator für Multiplikation '*' hat z.B. Vorrang vor dem Operator für Addition '+'. Enthält ein Ausdruck mehrere gleichwertige Operatoren, dann bestimmt die Assoziativität die Reihenfolge. In der unteren Tabelle bedeutet 'links' von links nach rechts und 'rechts' von rechts nach links.
Wichtig ist die Vorrangigkeit also, wenn mehrere Operatoren in einer Serie hintereinander verwendet werden, wie es z.B. bei If-Abfragen häufig vorkommen kann. Vergleichen Sie mal folgende beiden ähnlichen Bedingungen:
I: ($a and $b || $c)
II:($a and $b or $c)
Zur Laufzeit sollen $a und $b false, $c hingegen true sein. Das Ergebnis für I ist dann false, für II hingegen true. Ganz offensichtlich haben 'or' und '||' also verschiedene Bedeutungen. Der Operator '||' hat Vorrang vor dem Operator 'and'. Deshalb wird im Fall I zunächst der rechte Vergleich ausgeführt. Der Operator 'and' hat Vorrang vor dem Operator 'or'. Deshalb wird hier zunächst der linke Vergleich ausgeführt.
Zur Sicherheit und besseren Lesbarkeit sollten also Klammern verwendet werden um Fehlerquellen von vornherein zu vermeiden. Dabei gilt 'von Innen nach Außen'. Innere Klammern haben Vorrang vor den äußeren.
Die folgende Übersicht zeigt die Vorrangigkeiten in PHP. Die Liste beginnt mit dem höchsten Vorrang und endet mit dem niedrigsten: | Operator | Beschreibung | Assoz. |
|---|
| new | Objekt zuweisen | keine | | [ ] | Arrayelement | rechts | | !, ~, ++, --, (int), (float), (string), (array), (object), @ | Nicht, Komplement, Inkrement, Dekrement, Cast, Error-Control | rechts | | *, /, % | Mal, Geteilt, Modulo | links | | +, -, . | Plus, Minus, Konkatenierung | links | | <<, >> | bitweise Verschiebung | links | | <, <=, >, >= | kleiner, größer | keine | | ==, !=, ===, !== | gleich, ungleich | keine | | & | bitweises AND | links | | ^ | bitweises XOR | links | | | | bitweises OR | links | | && | logisches AND | links | | || | logisches OR | links | | ?: | bedingt | links | | =, *=, /=, %=, +=, -=, &=, |=, ^=, ~=, <<=, >>= | Zuweisung | rechts | | and | logisches AND | links | | xor | logisches XOR | links | | or | logisches OR | links | | , | mehrfache Auswertung | links |
|
| © webman-company, 5. Dezember 2025
|
|
|
|
|
|
|
|
|
Zitat des Tages:
"Gerne der Zeiten gedenk' ich,
da alle Glieder gelenkig
- bis auf eins.
Doch die Zeiten sind vorüber,
steif geworden alle Glieder
- bis auf eins."
(Johann Wolfgang Goethe)
|
|
|
|
|
|
|
|
|
Besucherstatistik
|
3.737.680 Seitenabrufe (seit November 2006)
|
|
|
Kalender
|
 |
Dezember 2025 |
 |
| Mo |
Di |
Mi |
Do |
Fr |
Sa |
So |
|
|
|
1967: Erste Herztransplantation 1992: Erste SMS 2008: Python Version 3 2015: PHP Version 7
3
|
|
|
|
|
|
|
|
Tag der Menschenrechte
10
|
|
|
|
|
|
|
|
|
1929: NSDAP in Thüringen
18
|
2016: Weihnachtsmarkt Breitscheidplatz
19
|
2024: Weihnachtsmarkt Magdeburg
Neumond
20
|
|
2032: Asteroid 2024 YR4
22
|
|
|
|
|
|
|
2023: Völkermordkonvention gegen Israel
29
|
|
|
|
|
|
| iCalendar
|
|
|
|
|