PHP 4.3

4.3 Logische Operatoren

PHP bietet auch die Möglichkeit, unterschiedliche Abfragen miteinander zu kombinieren. Dazu eignen sich die sogenannten logischen Operatoren. Mit ihnen kann man Bedingungen für eine Abfrage schaffen, die sich entweder ergänzen oder auch ausschließen. Logische oder boolesche Operatoren werden in vielen Bereichen der Informationstechnik verwendet. Sie sind Ihnen vielleicht schon begegnet in der "erweiterten Suche" von Suchmaschinen im Internet wie beispielsweise altavista.com oder google.com.

Eine vergleichbare Variante zur Prüfung von mehreren Sachverhalten innerhalb einer Bedingungsprüfung bietet jede moderne Programmiersprache und somit auch PHP. Unter Umständen sind Ihnen schon einmal die Schlüsselwörter and, or und xor in diesem Zusammenhang begegnet. Im Fall von PHP können Sie statt and auch && und statt or auch || verwenden. Es gibt allerdings einen wichtigen Unterschied zwischen den jeweiligen Schreibweisen, auf den wir im weiteren Verlauf dieser Lerneinheit noch eingehen werden.

Zum Verständnis der Funktionsweise von logischen Operatoren sei vorweggenommen, dass Vergleichsoperatoren einen höheren Rang in der Operatorenrangfolge einnehmen als logische Operatoren. Bei den folgenden if-Anweisungen werden deshalb zuerst die Zahlenwerte miteinander verglichen.

Logische Operationen können als Ausgabewert nur entweder true oder false liefern.

Hier die Syntax:
<?php

  $birnen = 4;
  $orangen = 8;

  echo "\$birnen = 4;<br>";
  echo "\$orangen = 8;<br>";

  if ($birnen == 5 and $orangen == 8) {
    echo "Sie haben 5 Birnen und 8 Orangen";
  }
  if ($birnen == 5 or $orangen == 8) {
    echo "Sie haben entweder 5 Birnen oder 8 Orangen oder beides.";
  }
  if ($birnen == 5 xor $orangen == 8) {
    echo "Sie haben entweder 5 Birnen oder 8 Orangen, aber nicht 5 Birnen und 8 Orangen";
  }

?>

Die erste if-Abfrage verküpft zwei Bedingungen. Das bedeutet, dass der Wert beider Variablen zutreffen muss, damit die Abfrage im Ganzen true zurückliefert.
Die zweite Abfrage überprüft hingegen, ob eine der beiden Bedingungen zutrifft. Dies würde ausreichen, um die gesamte Abfrage als true einzustufen. In der letzten Abfrage darf einer der beiden Werte zutreffen, nicht jedoch beide zusammen. xor bedeutet demnach, wie die entsprechende Bildschirmausgabe es wiedergeben würde, soviel wie "Entweder - Oder".

Jetzt sehen Sie auch, wie Sie die mathematische Bedingung a < b < c in PHP ausdrücken können: $a < $b && $b < $c.

Wir möchten an dieser Stelle die Tabelle zur Operatorenrangfolge weiter vervollständigen. Hier sehen Sie nun auch, was der Unterschied zwischen and bzw. or einerseits und && bzw. || andererseits ist: letztere binden enger als die Zuweisungen, erstere schwächer. Eine komplette Auflisten zur Operatorenrangfolge finden Sie übrigens unter http://www.php.net/manual/de/language.operators.php.



Operator

Assoziativität

 ++   --            rechts
 *   /   %          links
 +   -   .          links
 <   <=   >   >=        keine Richtung
 ==   !=   ===   !==    <>   <>   <>  keine Richtung
 &&              links
 ||              links
 =   +=   -=   *   /=   %=   .=  links
 and              links
 xor              links
 or              links

Kommentare (0)

Ihr Kommentar

Name