Bisher wurden die Dateien mit dem HTML-Code und dem PHP-Code rein sequentiell abgearbeitet, d.h. eine Anweisung nach der anderen wurden durchgeführt. Tatsächlich sind aber Programme auch in der Lage, auf unterschiedliche Bedingungen zu reagieren. Einzelne Anweisungen werden nur in bestimmten Situationen ausgeführt.
Die Ausführung dieser Anweisungen wird in solchen Fällen von einer oder mehreren Bedingungen abhängig gemacht. Je nachdem, ob die Bedingung zutrifft, werden die entsprechenden Anweisungen ausgeführt oder nicht. Darüber hinaus können bei Nichterfüllung der Bedingung alternative Anweisungen bearbeitet werden. Man nennt diese Stellen in Programmen »Verzweigungen«.
Bedingungen werden mit Hilfe von Wahrheitswerten (wahr oder falsch bzw. true oder false) und Vergleichs-Operatoren erstellt. Eine Tabelle der Vergleichs-Operatoren schließt sich an:
Operator |
Bedeutung |
gilt |
---|---|---|
== |
Gleichheit |
für Zahlen und Zeichenketten |
!= |
Ungleichheit |
für Zahlen und Zeichenketten |
> |
größer als |
nur für Zahlen |
< |
kleiner als |
nur für Zahlen |
>= |
größer oder gleich als |
nur für Zahlen |
<= |
kleiner oder gleich als |
nur für Zahlen |
Ein Beispiel für eine if-Verzweigung (uc09.php):
<html>
<body>
<?php
$a
= 7;
$b = 12;
if ($a < $b) echo "$a ist kleiner als
$b";
?>
</body>
</html>
Falls $a kleiner als $b ist, wird der entsprechende Text in das Dokument geschrieben, ansonsten geschieht nichts. Die Bedingung selber ($a <$ b) muss in Klammern stehen.
Ein weiteres Beispiel für eine if-Verzweigung (uc10.php):
<html>
<body>
<?php
$a
= 7;
$b = 12;
if ($a < $b)
{
echo "$a ist
kleiner als $b <br>";
echo "$b ist größer
als $a";
}
?>
</body>
</html>
Falls auf Grund einer Bedingung mehrere Anweisungen ausgeführt werden sollen, so müssen sie innerhalb von geschweiften Klammern stehen. In diesem Programm werden zwei Ausgaben erzeugt, da $a kleiner als $b ist. Die HTML-Markierung <br> steht für einen einfachen Zeilenumbruch.
Ein Beispiel für eine if-else-Verzweigung (uc11.php):
<html>
<body>
<?php
$a
= 5;
$b = 12;
if ($a < $b)
{
echo "$a ist
kleiner als $b<br>";
echo "$b ist größer
als $a";
}
else
{
echo "$a ist größer
oder gleich $b<br>";
echo "$b ist kleiner oder
gleich $a";
}
?>
</body>
</html>
Falls die Bedingung hinter dem if nicht zutrifft, werden die Anweisungen hinter dem else ausgeführt. Auch hier gilt, dass bei mehreren Anweisungen geschweifte Klammern benutzt werden müssen.