if else elseif
if
mit der if-Kontrollstruktur habt ihr die Möglichkeit dynamisch zu werden! Es wird geprüft, ob der Ausdruck in der Klammer nach if wahr ist, und wenn ja, dann wird die folgende Anweisung ausgeführt. Andernfalls nicht.
Beispiel:
PHP-Code:
01
02
03
04
05
06
07
<?php
$a = 1;
$b = 3;
if($a > $b)
echo '';
?>
Die Ausgabe ist dann:
Wie ihr seht, ist die Ausgabe leer - logisch!
Man könnte nun folgendes erweitern:
PHP-Code:
01
02
03
04
05
06
07
08
09
10
<?php
$a = 1;
$b = 3;
if($a > $b)
echo '$a ('.$a.') ist größer als $b ('.$b.')';
if($a < $b)
echo '$a ('.$a.') ist kleiner als $b ('.$b.')';
?>
Aber schön ist es nicht gerade. Daher erweitern wird das ganze.
else
Mit dem Beispiel von eben ergibt sich daraus folgendes. Es wird geprüft, ob die Bedingung wahr ist und andernfalls wird PHP den else-Abschnitt - sofern verfügbar - ausführen.
PHP-Code:
01
02
03
04
05
06
07
08
09
<?php
$a = 1;
$b = 3;
if($a > $b)
echo '$a ('.$a.') ist größer als $b ('.$b.')';
else
echo '$a ('.$a.') ist kleiner als $b ('.$b.')';
?>
Die Ausgabe sieht in diesem Falle dann so aus:
Code:
$a (1) ist kleiner als $b (3)
Anmerkung:
normal wäre die Blöcke nach if und else mit den Klammern { und } einzugrenzen. Hier konnte darauf verzichtet werden, da nur eine Zeile folgte.
elseif
Wenn wir nun das Beispiel ändern, so wird keine der beiden Bedingungen erfüllt sein.
PHP-Code:
01
02
03
04
05
06
07
08
09
<?php
$a = 3;
$b = 3;
if($a > $b)
echo '$a ('.$a.') ist größer als $b ('.$b.')';
else
echo '$a ('.$a.') ist kleiner als $b ('.$b.')';
?>
Hier hilft uns die 'Erweiterung' um elseif weiter. Hier kann sozusagen bei jedem else um eine weitere Bedingung geprüft werden.
PHP-Code:
01
02
03
04
05
06
07
08
<?php
if ($a > $b)
echo '$a ('.$a.') ist größer als $b ('.$b.')';
elseif ($a == $b)
echo '$a ('.$a.') hat den gleichen Wert wie $b ('.$b.')';
else
echo '$a ('.$a.') ist kleiner als $b ('.$b.')';
?>
Wichtig ist an dieser wohl, die Bedeutung von ==
Während man mit = Werte übergibt (siehe Variablen) wird mit == die Gleicheit des Wertes überprüft.
Mit === wird zusätzlich zur Gleicheit des Variablenwertes geprüft, ob die beiden zu vergleichenden Ausdrücke vom selben Datentyp sind.
Als Vergleichsoperator stehen folgende zur Verfügung:
== (Wert gleich)
< (kleiner als)
> (größer als)
<= (kleinergleich)
>= (größerals)
!= (ungleich)
=== (identisch)
Natürlich kann man auch mehrere Bedingungen aneinander knüpfen:
PHP-Code:
01
02
03
04
05
06
07
08
09
10
11
12
<?php
$a = 1;
$b = 2;
$c = 3;
// zwei Bedingungen müßen (beide) erfüllt sein
if($a == 1 && $b == 3)
echo '$a == 1 && $b == 3'; // wird nicht erfüllt
// eine Bedingung muss mindestens erfüllt sein
if($a == 1 && $b == 3)
echo '$a == 1 || $b == 3'; // wird erfüllt
?>
Als Verknüpfungsmöglichkeiten stehen zur Auswahl:
&& (und)
|| (oder)
Sollen bei einem Formular $_POST oder $_GET Variablen eine Rolle spielen, so muss natürlich sichergestellt werden, dass diese Variablen auch wirklich existieren und ggf. auch mit Inhalt gefüllt sind.
Dazu dient zB die Funktion
isset() und die Funktion
empty()Zusammen mit dem if-Konstrukt kann nun eine bedingte Aktion gewählt werden.