Ich habs aus einer englische Seite teilweise Übersetzt.


Die vergleichs Operanten in PHP

==, !=

Nicht vergessen das == nicht das einfache = ist (Weist einerVariablen den Wert der 2. zu)
Wenn die Vergleiche Probleme machen einfach nach einfachen "=" Ausschau halten. Hier liegt meist das Problem.

>, >=

größer als, größer oder gleich zum vergleichenden Operator

<, <=

kleiner als, kleiner oder gleich zum vergleichenden Operator

  ungleich

===, !==

absolut identischer Operator, die Vergleichsargumente müssen von selben Typ sein.

Das bedeutet das 0 !== "0" wahr ist. Denn Zahl ist ungleich Ziffer


Die Boolean oder logischen Operatoren

expr1 || expr2, expr1 or expr2

Die Aussage ist wahr wenn einer oder beide Audrücke war sind.

Hinweis:
or hat eine niedrigere Rangordnung als ||

$i = $i+$n or $i < 1 ist gleich zu ($i = $i+$n) || $i < 1

expr1 xor expr2

Die Aussage ist nur dann wahr wenn eins der Audrücke war sind. Falsch wenn beider wahr oder beide falsch sind.

expr1 && expr2, expr1 and expr2

Die Aussage ist nur dann wahr wenn beide Audrücke war sind.

Hinweis:
and hat eine niedrigere Rangordnung als &
$i = $i+$n and $i < 1 ist gleich zu ($i = $i+$n) && $i < 1

! expr1

Der NICHT Operator kehrt die logische Aussage um. Wahr (true) wird Falsch (false) und umgekehrt

Zeichenketten können durch die logischen Operatoren direkt verglichen werden.

Eine mögliche Fehlerquelle besteht aber darin das PHP versucht die Zeichenketten, falls möglich, in Zahlen umzuwandeln. Hieraus könnten unklare Ergebnisse resultieren. Um sicher zu gehen einfach die Funktion strcmp() verwenden. Diese liefert die sichersten Ergebnisse.

Noch ein Hinweis:
Der Unterschied zwischen den "Nicht" Operatoren ! wird für logisch Vergleiche verwendet. ~ wird für bitweise Vergleiche verwendet.


Die bitweisen Operatoren

var1 & var2 => und (and) Operator

Nur Bits die in beiden Ausdrücken gesetzt sind (gleich 1) werden im Ergebnis gesetzt.

Also: 4 & 12 = 4 bzw. mit Bitdarstellung: 0100 & 1100 = 0100

var1 | var2 => oder (or) Operator Bits die in einem der beiden Ausdrücke gesetzt sind (1) werden im Ergebnis gesetzt. Sonst 0.
Also: 4 | 12 = 12 bzw. in Bitdarstellung: 0100 | 1100 = 1100
var1 ^ var2 => xor Operator Bits die nur jeweils in einem Ausdruck gesetzt sind werden im Ergebnis gesetzt (1) sein sonst 0.
Also: 4 ^ 12 = 8
in beiden Ausdrücken: 0100 ^ 1100 = 1000
~var1 => not operator

Bits sind negiert.

Also: ~12 = 3 bzw. in Bitdarstellung: ~1100 = 0011

var1 << n links verschieben Operator

var1 Bit werden um n Positionen nach links verschoben. Dies entspricht var1 x 2**n

Also: 3 << 2 = 12 bzw. in Bitdarstellung 0011 << 2 = 1100

va1 >> n => rechts verschieben Operator

var1 Bit werden um n Positionen nach rechts verschoben. Dies entspricht var1 / 2**n

Also: 3 >> 2 = 0 bzw. in Bitdarstellung 0011 >> 2 = 0000


Kontrolle über die Befehlsfolge

if (Bedingung) Befehl;
if (
Bedingung){ ..Befehle; }
if (
Bedingung) Befehl else Befehl;
if (
Bedingung) Befehl; [elseif(Bedingung) Befehl;] [ else Befehl;]
if (
Bedingung){ ..Befehle;} [elseif(Befehl){
..
Befehle;} ] [else {..Befehle;}]

if Bedingungen werden in PHP voll unterstützt.

Die elseif Bedingung kann für eine weitere Bedingungprüfung angehängt werden. Mit Klammern können , {..Befehlsketten;}, als angegeben werden.

 

ternary operator:
(
Bedingung)? Ausruck1: Ausdruck2;

Manche mögens, andere nicht.
$color = ($cnt++ % 2)? "blue" : "green";

switch (Ausdruck){
case Wert-1: case alternativer-Wert:
[..state

 

Wie die meisten Programmiersprachen erlaubt PHP logische und bitweise Operationen. Die bitweisen Operationen werden am besten bei Integer variabel angewendet.Bei anderen Typen ist die auch Möglich aber nicht anzuraten.

 

 

Note that the switch statement allows for strings to be used as case constants. However, PHP falls short of the flexibility provided in the equivalent select statement used in VB or VBScript. But PHP does provide the ternary operator which can be useful in simplifying complex logic expressions. In general PHP is on par with modern languages like Java and C# for it logic and bitwise operations.

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.