Derzeit online: ca. 104 User  
Spenden via PayPal PHP für dich ist auch als Buch erhältlich - im handlichen Format, zum Nachschlagen, Mitnehmen oder gemütlichen nebenbei Lesen. Mit noch mehr Informationen, zusätzlichen Beispielen und Übungsaufgaben.
Jetzt in der aktualisierten Version bei Amazon oder BoD bestellen!


PHP

Wenn das Wörtchen if nicht wär'...

... hätten wir ein ziemlich großes Problem.

Bisher hat PHP für uns noch keinen Vorteil gegenüber reinem HTML. Klar, wir können Variablen bestimmen - aber welchen Sinn haben diese, wenn wir dennoch nur den Text ausgeben können? Und auch unsere Rechenoperationen sind zwar recht nett, aber dafür muss man nicht wirklich PHP bemühen.

Mit einer if-Anweisung ist es jedoch möglich, eine gewisse Bedingung zu prüfen und nur dann, wenn diese Bedingung zutrifft, etwas Bestimmtes zu machen.

Das Grundgerüst einer solchen if-Anweisung sieht so aus:
<?php
if(Bedingung)
{
  Anweisung
}
?>
Die Bedingung, die überprüft werden soll, wird in ein Klammer nach dem einleitenden if gesetzt. Danach folgt in geschwungenen Klammern die Anweisung, die ausgeführt werden soll, wenn die Bedingung wahr ist.

Okay, das klingt bisher ziemlich theoretisch, also schauen wir mal, wie so eine Bedingung und eine Anweisung aussehen kann ...
<?php
if($user == "Claudia")
{
  echo "Bist du Cloud?";
}
?>
Hierbei wurde (z. B. durch eine Formulareingabe) ein Username übergeben, der in der Variable user gespeichert ist. Die if-Anweisung testet jetzt, ob der Username Claudia ist (beachte, dass hier das doppelte Ist-Gleich eingesetzt wird und nicht das einfache!). Ist das der Fall wird die Frage Bist du Cloud? ausgegeben.

Doch was passiert jetzt, wenn die Bedingung nicht wahr ist - also der Username nicht Claudia ist?

So, wie unsere if-Anweisung derzeit aussieht, passiert in dem Fall einfach nichts. Es gibt jedoch eine Erweiterung zu if - nämlich das else.

Das Grundgerüst dafür ist folgendes:
<?php
if(Bedingung)
{
  Anweisung
}
else
{
  Anweisung
}
?>
Jetzt wird zunächst die Bedingung der if-Anweisung getestet - ist diese wahr (true), wird die 1. Anweisung ausgeführt. Ist die Bedingung jedoch falsch (false) wird das ausgeführt, was als Anweisung im else-Teil festegelegt wurde - mit der 1. Anweisung passiert einfach nichts.

Auf unser Beispiel von vorher angewandt könnte das dann so aussehen:
<?php
if($user == "Claudia")
{
  echo "Bist du Cloud?";
}
else
{
  echo "Also Cloud bist du sicher nicht!";
}
?>
Auch hier wird getest, ob der Username, der in der Variable user gespeichert ist "Claudia" lautet - ist das der Fall, erfolgt die Frage "Bist du Cloud?". Ist der Username (also der Inhalt der Variable user) nicht Claudia, sondern irgendetwas anderes (bzw. gar kein Wert), so wird "Also Cloud bist du sicher nicht!" ausgegeben.

Bis hierher verständlich? Dann zeige ich dir jetzt noch, wie man mehrere if-Anweisungen verbinden kann:
<?php
if($user == "Claudia")
{
  echo "Bist du Cloud?";
}
elseif($user == "Andreas")
{
  echo "Bist du Unki?";
}
else
{
  echo "Also du bist sicher weder Cloud noch Unki!";
}
?>
In diesem Beispiel wird als erstes überprüft, ob der Username "Claudia" ist - ist das der Fall wird, wie gehabt, der 1. Text ausgegeben. Ist das nicht der Fall, wird die elseif Bedingung überprüft und getestet, ob der Username Andreas ist. Falls das der Fall ist, wird der 2. Text ausgegeben - ist das auch nicht der Fall, kommt der letzte Text, der in der else Anweisung steht.

Du kannst natürlich auch einfach eine ganz normale if-Anweisung in den else-Teil schreiben:
<?php
if($user == "Claudia")
{
  echo "Bist du Cloud?";
}
else
{
  if($user == "Andreas")
  {
    echo "Bist du Unki?";
  }
  else
  {
    echo "Also du bist sicher weder Cloud noch Unki!";
  }
}
?>
Das Prinzip hierzu ist das gleiche - zunächst wird die if-Bedingung überprüft. Ist diese falsch, wird in die else-Bedingung gesprungen. In dieser befindet sich erneut eine if-Anweisung, die geprüft wird und für den Fall, dass diese falsch ist gibt es eine weitere else-Anweisung.

Diese Variante ist jedoch umständlicher und fehleranfälliger und du musst ganz besonders darauf achten, dass du alle geschwungenen Klammern auch wieder schließt (musst du immer - jedoch treten hier leichter Fehler auf, da die geschwungenen Klammern verschachtelt werden).

if-Anweisungen sind ein sehr flexibles und vielseitiges Werkzeug, das wir sicher noch öfter verwenden werden.

Zuvor schauen wir uns aber noch an, wie man ganz einfach viele derartige if-Abfragen ausführen kann.

Autor: Claudia Unkelbach

=> Weiter
© 2001 - 2017 Claudia Unkelbach
Gießener Straße 75, 35396 Gießen