Kontrollstrukturen / Flusskontrolle in PHP
Eine Aufgabenstellung die Sie sicher in jedem Programm lösen müssen, ist das reagieren auf gegebene Werte.
So wollen Sie zum Beispiel weibliche Besucher Ihrer Webseite nach dem Einloggen mit "Hallo Frau ..." begrüssen während sie männliche Besucher mit "Hallo Herr ..." ansprechen wollen.
Wenn Sie also wissen ob der Benutzer männlich oder weiblich ist müssen Sie in Ihrem php Code trotzdem eine Kontrollstruktur einbauen die entweder das Wort "Frau" oder "Mann" ausgiebt.
Schauen wir uns ein Beispiel an:
<?php
$typ = "w";
if( $typ == "m" )
{
echo " Hallo Herr ";
}
if( $typ == "w" )
{
echo " Hallo Frau ";
}
?>
In diesem Script benutzen wir die Variable $typ um ein 'm' für Männer und ein 'w' für Frauen zu speichern.
Nun kommt die erste Neuerung, die Zeile " if( $typ == "m" ) ".
Das Schlüsselwort "if" gefolgt von Runden Klammern ( AUSDRUCK ) wird in php benutzt um auszuwerten ob ein Ausdruck wahr oder falsch ist.
In unserem Beispiel muss beurteilt werden ob der Ausdruck
$typ == "m" - wahr oder falsch ist.
Dazu müssen wir erst noch die Bedeutung des doppelten Gleichheitszeichens ( == ) klären. Es handelt sich dabei um eine so genannten 'Vergleichsoperator'. Das doppelte Gleichheitszeichen wertet für uns aus ob die Werte links und rechts vom ( == ) gleich oder unterschiedlich sind und gibt dementsprechend ein wahr ( engl. true ) oder falsch ( engl. false ) zurück.
Lassen Sie mich diese if-Anweisung einmal umgangssprachlich darstellen.
if( $typ == "m" )
stimmt es das( der Wert der Variable $typ GLEICH dem Zeichen 'm' ist )
Wenn nun also der Ausdruck in den Runden Klammern der if-Anweisung wahr ist, soll etwas bestimmtes passieren. All das was in diesem Fall passieren soll wird nun direkt nach der if Anweisung in ein geschweiftes Klammernpaar {} eingeschlossen. Innerhalb dieses Klammernpaares können belibig viele Zeilen code und auch weitere if-Anweisungen stehen.
Entweder / Oder
If / Else
Natürlich können Sie auch den Fall ,dass ein Ausdruck nicht wahr ist erfassen und ebenfalls in einem geschweiften Klammernpaar diesen Fall abarbeiten.
Zeit für ein Beispiel:
<?php
$zahl = 5;
if( $zahl > 5 )
{
echo " Die Zahl ist grösser als 5 ";
}
else
{
echo " Die Zahl ist nicht grösser als 5 ";
}
?>
Unser kleines Script unterscheidet nun ob $zahl grösser ist als 5 oder nicht. Wir benutzen das Wort ' else ' um den Fall zu behandeln das die if - Anweisung nicht zutrifft , also unseren ODER-Fall.
Also könnten wir sagen:
" Wenn $zahl grösser ist als 5 dann mache 'dies' wenn nicht mache 'das' ",
wobei die Ereignisse für die beiden möglichen Fälle jeweils in {} - Klammern stehen.
Nun ist die Welt leider nicht ganz so einfach , dass sich alles in 'entweder / oder' aufteilen lässt. Gehen wir von unserem oberen Beispiel aus und bedenken einmal den Fall das Benutzer Ihrer Webseite Ihr Geschlecht nicht angeben wollten.
Somit haben wir schon 3 mögliche Ausprägungen für unsere
Variable $typ : m, w und x.
x bedeutet in unserem Fall 'keine Angaben'.
Wir müssen also nun folgenden Fall abbilden:
Wenn 'm' dann 'Herr' - wenn nicht 'm' aber 'w' dann 'Frau' - wenn nicht 'm' und nicht 'w' aber 'x' dann 'Lieber User',
wobei klar ist, dass nur einer dieser Fälle eintreten kann und niemals zwei oder alle drei.
So sieht das ganze in php aus:
<?php
$typ = "w";
if( $typ == "m" )
{
echo " Hallo Herr ";
}
elseif( $typ == "w" )
{
echo " Hallo Frau ";
}
elseif( $typ == "x" )
{
echo " Lieber User ";
}
?>
Die Neuerung in diesem Teil ist das Schlüsselwort 'elseif' was soviel bedeutet wie ' wenn nicht dies aber das '. Mit diesem neuen Verfahren können wir nun eine belibige Anzahl von sich gegenseitig ausschliessenden Bedingungen prüfen um auf den für uns passenden Zustand zu reagieren.
So, nun sind Sie bereits in der Lage in Ihrem Programm auf Werte bzw. Wertänderungen zu reagieren. Falls Sie sich weiter in php einarbeiten wollen gehen Sie weiter zum nächsten Tutorial Teil 'Funktionen' oder kontaktieren Sie uns zu Schulungen in unserem Haus.
Ihr Ansprechpartner :
Kai Niklas - Geschäftsführer Entwicklung
Tel.: +49 28 41 - 781 955 3
E-Mail: kn@mbon.de

Seite drucken




