SELFPHP

SELFPHP-Druckversion
Original Adresse dieser Seite:
http://www.selfphp.de/praxisbuch/praxisbuchseite.php?site=116&group=24&page=2
© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.de
© 2005-2017 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Logische Operatoren


Logische Operatoren dienen zum Vergleichen boolescher Werte (true und false) und geben einen dritten booleschen Wert zurück. Bei der Programmierung werden sie normalerweise zusammen mit Vergleichsoperatoren verwendet, um auf diese Weise komplexe Vergleiche auszudrücken, die sich auf mehr als eine Variable beziehen.


Logisches Und

Der Operator (&&) ergibt dann und nur dann true, wenn gleichzeitig der erste und der zweite Operand true sind. Ergibt schon der erste Operand ein false, ist das Ergebnis ebenfalls false. Das ist der Grund dafür, weshalb sich der Operator (&&) gar nicht erst damit aufhält, den zweiten Operanden noch zu überprüfen.

Beispiel

$wertEins = true;
$wertZwei = true;
// Beide Ausdrücke sind gleichwertig
// Ergebnis: true
echo $resultat = $wertEins && $wertZwei;
// Ergebnis: true
if ($wertEins && $wertZwei) $resultat = true;

Beispiel

$wertEins = (10 * 2);
$wertZwei = (10 + 10);
// Beide Ausdrücke sind gleichwertig
// Ergebnis: true
if ($wertEins && $wertZwei) $resultat = true;

Um den logischen Operator (&&) noch besser zu verstehen, hier eine Wahrheitstabelle.

Operand 1Operand 2Operand 1 && Operand 2
truefalsefalse
falsetruefalse
truetruetrue
falsefalsefalse


Logisches Oder

Der Operator (||) ergibt nur dann true, wenn der erste oder der zweite Operand wahr ist oder auch beide gleichzeitig. Genau wie (&&) wertet auch dieser Operator den zweiten Operanden nicht aus, wenn der erste Operand das Ergebnis schon endgültig festlegt. Ergibt der erste Operand true, dann ist das Ergebnis ebenfalls true, der zweite Operand kann das Ergebnis nicht mehr ändern und wird daher nicht ausgewertet.

Beispiel

$wertEins = (10 * 2);
$wertZwei = (10 + 10);
// Logische Operator (||) – OR
// Ergebnis: true
if ($wertEins || $wertZwei) $resultat = true;

Um den logischen Operator (||) noch besser zu verstehen, hier eine Wahrheitstabelle.

Operand 1Operand 2Operand 1 || Operand 2
truefalseTrue
falsetrueTrue
truetrueTrue
falsefalsefalse


Logisches Entweder-Oder

Der Operator (xor) ergibt nur dann true, wenn genau einer der beiden Operanden wahr ist. Der Operator wertet immer beide Operanden aus. Sind beide Operanden true, dann ist das Ergebnis false.

Beispiel

$wertEins = (10 * 2);
$wertZwei = (10 + 10);

// Logische Operator (XOR)
// Ergebnis: wahr
if ($wertEins == 20 xor $wertZwei == 10) $resultat = "wahr";
else $resultat = "falsch";

// Ergebnis: falsch
if ($wertEins == 20 xor $wertZwei == 20) $resultat = "wahr";
else $resultat = "falsch";
{PSP}Um den logischen Operator (xor) noch besser zu verstehen, hier eine Wahrheitstabelle.

Operand 1Operand 2Operand 1 xor Operand 2
truefalseTrue
falsetrueTrue
truetruefalse
falsefalsefalse


Logisches Nicht

Der Operator (!) ist ein unärer Operator, der vor seinem einzigen Operanden steht. Sein Zweck besteht darin, den booleschen Wert seines Operanden umzukehren.

Beispiel

$wertEins = true;
// Logische Operator (!) – NICHT
// Ergebnis: false
$resultat = !$wertEins;

Um den logischen Operator (!) noch besser zu verstehen, hier eine Wahrheitstabelle.

Operand 1! Operand 1
truefalse
falsetrue


Zusammenfassend eine Übersicht über die logischen Operatoren in PHP.

OperatorBezeichnungBedeutung
&& / andLogisches UND (AND) Verknüpfung$a && $b ergibt true, wenn sowohl $a, als auch $b wahr sind. Ist $a bereits falsch, so wird false zurückgegeben und $b nicht mehr ausgewertet.
|| / orLogisches ODER (OR) Disjunktion$a || $b ergibt true, wenn mindestens einer der beiden Ausdrücke $a oder $b wahr ist. Ist bereits $a wahr, so wird true zurückgegeben und $b nicht mehr ausgewertet.
xorExklusiv-ODER (XOR)$a xor $b ergibt true, wenn genau einer der beiden Ausdrücke $a oder $b wahr ist.
!Logisches NICHT Negation!$a ergibt false, wenn $a wahr ist und true, wenn $a false ist.