Hauptmenü

Untermenü

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

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