MeinWebworker
   MeinWebworker


   
Seit 1998   
 
PHP-Einführung: Kontrollstrukturen

Kontrollstrukturen sind einer der wichtigsten Teile einer Programmiersprache. Sie lassen ein Skript erst richtig dynamisch werden. Wir zeigen die wichtigsten Kontrollen in PHP.

Vorwort
Mittels Kontrollstrukturen wird die Abarbeitung eines Skriptes kontrolliert, d.h. Befehle werden nur dann abgearbeitet, wenn entsprechende Bedingungen erfüllt sind.

Vorprüfende Schleife
Neben der in der PHP-Einführung erwähnten for-Schleife gibt es noch die while-Schleife. Die Bedingung wird hier ebenfalls vor Ablauf überprüft. Geben wir zum Beispiel die Zahlen von 1 bis 10 aus:

$i = 1;
while ( $i <= 10 ) {
  print ("$i&ltbr>“);
  $i++;
}

Anders als bei der for-Schleife besteht diese nur aus einem Ausdruck, der Abbruchbedingung. Die Variable, die die Schleifendurchläufe zählt, wird hier innerhalb der geschweiften Klammern erhöht bzw. erniedrigt.

Nachprüfende Schleife
Bei der do-while-Schleife wird die Bedingung erst nach dem Durchlaufen überprüft. Dadruch wird diese Schleife immer mindestens einmal durchlaufen.

$i = 11;
do {
  print (“$i&ltbr>”);
  $i++;
} while ( $i <= 10 );

Obwohl die Bedingung nicht erfüllt ist, wird diese Schleife einmal abgearbeitet und die Zahl 11 ausgegeben. Erst danach wird festgestellt, dass die Bedingung nicht erfüllt ist und die Schleife wird beendet.

Vorzeitiges Beenden einer Schleife
Um einen Schleifendurchlauf zu überspringen, gibt es den Befehl continue;. Die Verwendung macht allerdings nur in Verbindung mit einer if-Abfrage Sinn.

$i = 1;
while ( $i <= 10 ) {
  if ($i == 7) {
    continue;
  }
  print ("$i");
  $i++;
}

Dieses Beispiel gibt wieder die Zahlen von 1 bis 10 aus, allerdings ohne die 7.

Mittels break; können Sie die gesamte Schleife beenden.

$i = 1;
while ( $i <= 10 ) {
  if ($i == 7) {
    break;
  }
  print ("$i");
  $i++;
}

Hier werden nur die Zahlen von 1 bis 6 ausgegeben. Bei der Zahl 7 wird die gesamte Schleife beendet.

Fallunterscheidung
Die Funktion switch() arbeitet ähnlich wie mehrere if-Anweisungen, die die gleiche Variable betreffen. Sie bringt aber mehr Übersicht und spart Code ein.
Es lassen sich also abhängig vom Inhalt einer Variable verschiedene Befehle ausführen.

$a = -1;
switch ($a) {
  case “1″:
    print (“Der Wert ist 1.”);
    break;
  case “2″:
  case “3″:
  case “4″:
    print (“Der Wert ist 2, 3 oder 4.”);
    break;
  default:
    print (“Ungültiger Wert.”);
    break;
}

Abhängig vom Inhalt der Variable $a wird ein bestimmter Code-Abschnitt ausgeführt. Die Vergleichswerte werden hinter den case-Anweisungen und mit einem nachfolgenden Doppelpunkt notiert (im Beispiel: case “1″:). Sie können innerhalb der switch-Anweisung beliebig viele case-Anweisungen definieren. Für jede case-Anweisung ist immer nur ein Vergleichswert erlaubt.
Beim Abarbeiten der Funktion wird von oben nach unten der Variableninhalt mit dem Vergleichswert verglichen. Stimmen beide überein, werden die nachfolgende Befehle ausgeführt. Mittels break; verlassen wir dann die switch-Anweisung. Ohne diesen Zusatz würden nachfolgende case-Werte, obwohl sie nicht übereinstimmen, trotzdem ausgeführt werden.
Mit der default-Anweisung wird bei Bedarf ein Code-Abschnit definiert, der ausgeführt wird, wenn keiner der Vergleiche in den case-Anweisungen zutrifft.

Beenden des gesamten Skripts
Wollen Sie einmal das gesamte Skript abbrechen, verwenden Sie exit; oder die;. Beide Befehle haben die gleiche Wirkung. Sinn macht dies zum Beispiel bei einer Fehlerüberprüfung:

if ($name == “”) { // Variable $name ist leer
  print (“Fehler: Bitte geben Sie Ihren Namen ein.”);
  die;
}

Links zum Thema:
Online-Befehlsreferenz

Diese Artikel könnte Sie interessieren:
PHP-Einführung
Lokalen Webserver einrichten

(AM | 22.06.02)

Diskussion zum Thema:

6 Kommentare zu “PHP-Einführung: Kontrollstrukturen”
  • philippg 21.04.03, 00:16

    Ich empfehle anstelle des letzten Codebeispieles, welches wie folgt aussieht

    if ($name == “”) { // Variable $name ist leer
    print (“Fehler: Bitte geben Sie Ihren Namen ein.”);
    die;
    }

    folgenden Code:

    if ($name == “”) {
    die(“Fehler: Bitte geben Sie Ihren Namen ein.”);
    }

    Letzte Änderung von Philipp Gérard am 21.04.03, 00:16.

  • xschmitz 21.04.03, 00:30

    Entschuldigt, das ich hier ein bisschen abschweife. ;-)

    Aber warum ist das in Scrip geschriebene (im Artikel) immer so klein das man es kaum lesen kann ??

    gruss, :-|
    mike

  • hpfans 21.04.03, 08:30

    @Philipp:
    Und welchen Unterschied / Vorteil siehst du in deinem Scriptvorschlag? Von der Funktionalität her sind beide gleich …

    Jonas

  • philippg 21.04.03, 10:31

    Jonas, wofür ein print, wenn die() sowieso eine Fehlermeldung ausgeben kann? Das Ergebnis ist dasselbe, der Weg ist leicht anders.

    Ich denke einfach, dass unnötiger Code vermieden werden sollte.

  • hpfans 21.04.03, 13:35

    Faktisch willst du durch dein Script also eine Zeile einsparen – ist in Ordnung, aber der vorgestellte Code ist von der Wirkung her nicht anders.

    cu

    Jonas

  • amauf 21.04.03, 15:58

    <<Aber warum ist das in Scrip geschriebene (im Artikel) immer so klein das man es kaum lesen kann ??>>

    Das liegt irgendwie am Browser. Im IE ist’s ok … (L) ;D

    So… jetzt passts auch im Mozilla! :-)

    Letzte Änderung von Andreas Mauf am 21.04.03, 16:10.


 
 
Shopping
Preisvergleich!
Vergleichen Sie jetzt die Preise vieler Produkte und sparen Sie durch den Einkauf im Preisvergleich bei namhaften Händlern. Mehr
       
 
Geschichte
Launch 1998
Christian Boris Schmidt startet als damals 16-Jähriger eine Website bei Geocities mit 5 MB Webspace, um Andere bei der Gestaltung eigener Websites zu unterstützen. Mit Hilfe des Weiterleitungsdienst home.pages.de wird die Seite auch erreichbar unter all.4.home.pages.de.

Eigene Domain 2000
Die Website ist erstmals unter all4homepages.de beim Webhoster Puretec (heute 1&1) erreichbar. Zuvor war die Reservierung einer eigenen Domain für den Schüler kaum bezahlbar.

Relaunch 2001
all4homepages.de bekommt nach mehreren Relaunchs das heutige Gesicht als Magazin. Blau wird zur Hausfarbe. Es folgen regelmäßige Newsberichte.

Homepage-Tools 2002
Andreas Mauf unterstützt ab sofort den Technik-Bereich. Nach einem Hosterwechsel werden für Mitglieder die ersten Homepage-Tools angeboten. Diese sind besonders beliebt, weil sie kostenlos und werbefrei sind. Es folgen die wöchentliche Kolumne und Gewinnaktionen für Mitglieder in Kooperation u.a. mit Canon und diversen Webhostern. Ende 2002 wird der erste, eigene Webserver in Betrieb genommen.

Neuer Name 2003
Zum 5. Geburtstag wurde MeinWebworker als neuer Name bekannt gegeben. Zu diesem Zeitpunkt nutzen mehr als 4.000 Mitglieder aktiv unsere Dienste. Nach dem erfolgreichen Abschluss einer IT-Ausbildung Mitte 2003 kann das Team die Arbeit am Projekt aus finanziellen Gründen nur noch teilweise fortgesetzen.

Übergangsphase 2004
Christian arbeitete seit dem Abschluss zunächst bei Zanox und Andreas machte sich mit der Idee zu Ecato als Einzelunternehmer selbstständig.

Ecato-Gründung 2005
Im Mai gründen Andreas und Christian mit Investoren Ecato, um Websitebetreiber beim Geld verdienen zu unterstützen. Kurz später müssen die Homepage-Tools von MeinWebworker leider aus organisatorischen Gründen eingestellt werden. Seit Ende 2005 können Websitebetreiber bei Ecato kostenlos in wenigen Schritten einen eigenen Marktplatz mit Preisvergleich einrichten und damit verdienen.

Hier geht es weiter

   
Anzeige
Shopping



 
     

Ecato
Das Marktplatz-Netzwerk

© 1998-2010 MeinWebworker. Alle Rechte vorbehalten.
Ein Projekt von Christian Boris Schmidt und Andreas Mauf.
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung des Autors nicht gestattet. Impressum


againstchildporn.org - Zusammen gegen Kinderpornographie und Kindermissbrauch im Internet und weltweit!
Kinder sind die Zukunft!