PHP - Grundlagen - Bedingungen - Varianten
1. Erweiterte Bedingungen
Neben der schon bekannten if
-Bedingung bietet uns PHP noch weitere Möglichkeiten. Wäre sonst auch ziemlich arm, nur
eine pisselige Bedingung anzubieten. Genau genommen gibt es eigentlich nur eine weitere Möglichkeit, die aber in verschiedenen
Schreibweisen. Fragt mal die Informatiker, die können euch das logisch herleiten.
2. if ... else if ... else
Dieses Konstrukt ist eine erweiterte Form der einfachen if
-Bedingung. Hier können zusätzliche Bedingungen festgelegt werden.
Man muss sich das als ein "wenn - andernfalls wenn - sonst"-Schema vorstellen.
<?php
if ($a > $b)
{
echo $a.' ist größer als '.$b;
}
else if ($a == $b)
{
echo $a.' ist genauso groß wie '.$b;
}
else if ($a < $b)
{
echo $a.' ist kleiner als '.$b;
}
else
{
echo 'Hier passt gar nichts';
}
?>
Ein Hinweis
PHP bietet uns zwei verschiedene Schreibweisen an. So kann man das else if
auch zusammenschreiben, also elseif
.
Ich persönlich mache das nicht, da es zum Beispiel in JavaScript nicht funktioniert. So habe ich eine einheitliche Schreibweise für zwei
Sprachen und muss nicht jedes Mal umdenken.
3. Der Trinitätsoperator
Dabei handelt es nur um eine verkürzte Schreibweise einer einfachen if
-else
-Bedingung. Andere nennen ihn auch
Ternäroperator oder ternärer Operator. Aber ich habe ihn unter diesem Begriff kennen gelernt, also bleibe ich dabei.
<?php
if ($a == $b)
{
$c = $a;
}
else
{
$c = $b;
}
// Schreibweise als Trinitätsoperator
($a == $b) ? $c = $a : $c = $b;
?>
Aufbau
- Bedingung ohne
if
- Ein Fragezeichen
- Dann die Anweisung, wenn die Bedingung wahr ist
- Ein Doppelpunkt
- Dann die Anweisung, wenn die Bedingung falsch ist
4. switch
... case
Die Möglichkeit bietet sich vor allem bei vielen, vielen Überprüfungen einer(!) Variable an. Man verwendet sie an Stelle von zig
else if
-Monstern. Der grundsätzliche Aufbau sieht so aus.
<?php
switch ($a)
{
case 1: echo '$a ist 1';
break;
case 2: echo '$a ist 2';
break;
case 3: echo '$a ist 3';
break;
default: echo '$a ist weder 1, noch 2, noch 3';
}
?>
Man muss dabei noch auf ein paar Feinheiten achten, aber dazu komme ich jetzt.
zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt