Platzhalter
 
Platzhalter
 
hosted by
netcup.de
 
Memory 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Play it again, Sam. 

Artikel zum Thema PHP  
 

Vorrang der Operatoren


Vorrang der Operatoren
'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 be­rück­sichtigt.

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:


OperatorBeschreibungAssoz.
newObjekt zuweisen keine
[ ] Arrayelementrechts
!, ~, ++, --, (int), (float), (string), (array), (object), @Nicht, Komplement, Inkrement, Dekrement, Cast, Error-Controlrechts
*, /, %Mal, Geteilt, Modulolinks
+, -, . Plus, Minus, Konkatenierunglinks
<<, >>bitweise Verschiebunglinks
<, <=, >, >=kleiner, größerkeine
==, !=, ===, !==gleich, ungleichkeine
&bitweises AND links
^bitweises XOR links
|bitweises OR links
&&logisches AND links
||logisches OR links
?:bedingt links
=, *=, /=, %=, +=, -=, &=, |=, ^=, ~=, <<=, >>= Zuweisungrechts
and logisches ANDlinks
xor logisches XORlinks
or logisches OR links
, mehrfache Auswertung links


© webman-company, 26. Februar 2024
Weiterführende Informationen

 
Aktuelle Fragen   

Fragen über Fragen

Wird das Internet eigentlich leichter, wenn man sich da was runterlädt? 
Ist es bedenklich, wenn im Park ein Goethe-Denkmal durch die Bäume schillert? 
Warum laufen Nasen, während Füße riechen? 
Warum muss man für den Besuch beim Hellseher einen Termin haben? 
 
 
Wissenswertes aus dem Bereich Biologie:
Der amerikanische Arzt Duncan McDougall (1866-1920) behauptete, entdeckt zu haben, dass der Mensch in der Sekunde seines Ablebens genau 21g Gewicht verliert, während z.B. sterbende Hunde ihr Gewicht halten. Er glaubte, es müsse sich um das Gewicht der menschlichen Seele handeln, die im Moment des Todes in den Himmel aufsteige.
  

Ihr Client 
 

Besucherstatistik 
1
Besucher

3343149 Seitenabrufe
(seit November 2006)
 

Zeit (Berlin) 
::
..

 

KalenderKalender 
vorheriger Monat April 2024 nächster Monat
Mo Di Mi Do Fr Sa So
Ostermontag
1. April
1
23456
Weißer Sonntag
7
8
Letzer Tag Ramadan
Microsoft Patchday
9
1011121314
15161718192021
Earth Day
Beginn des Pessachfestes
22
232425262728
2930     

iCalendar
 

 
 
 
Bitte haben Sie einen Augenblick Geduld.

Bitte warten


schließen