Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
faecher:informatik:oberstufe:php:verzweigungen:start [26.04.2021 15:35] – [Beispiel: Mehrfachverzweigung mit "Durchrutschen"] sbel | faecher:informatik:oberstufe:php:verzweigungen:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Verzweigungen ====== | ||
- | |||
- | Wie praktisch alle Programmiersprachen mit imperativen Sprachkonzepten bietet auch PHP Sprachelemente, | ||
- | |||
- | ====== Einfachverzweigung mit if/else ====== | ||
- | |||
- | Mit der sogenannten if-Anweisung (if, engl. für „wenn“) kann man eine Bedingung prüfen. Das Sprachkonstrukt (es ist keine Funktion) wird mit dem Schlüsselwort '' | ||
- | |||
- | Für den Fall, dass die Bedingung nicht erfüllt ist, kann man einen Alternativzweig mit dem Schlüsselwort else (else, engl. für „ansonsten“) festlegen. | ||
- | |||
- | |||
- | | Normierte Sprache |Programmiersprache |Flussdiagramm | | ||
- | | < | ||
- | DANN | ||
- | aufheben | ||
- | *ENDE DANN | ||
- | SONST | ||
- | ablegen | ||
- | *ENDE SONST</ | ||
- | { | ||
- | aufnehmen(); | ||
- | } | ||
- | else { | ||
- | ablegen(" | ||
- | }</ | ||
- | |||
- | |||
- | |||
- | |||
- | **Codebeispiel: | ||
- | |||
- | <code php beispiel01.php> | ||
- | $haben = 10; | ||
- | $limit = 20; | ||
- | |||
- | if($haben > $limit) { | ||
- | // gibt Ergebnis aus | ||
- | print " | ||
- | } | ||
- | else { | ||
- | print "Nicht einkaufen gehen"; | ||
- | } | ||
- | </ | ||
- | |||
- | ===== Exkurs: Logische Operationen ===== | ||
- | |||
- | Vergleichsoperatoren erlauben es - wie der Name schon sagt - zwei Werte miteinander zu vergleichen. Die wesentliche Eigenschaft von Vergleichsoperationen ist, dass es nur zwei mögliche Ergebnisse gibt: WAHR und FALSCH. Diese beiden Möglichkeiten nennt man auch " | ||
- | |||
- | **Beispiele: | ||
- | |||
- | 3 == 5 liefert FALSCH | ||
- | 4 == 4 liefert WAHR | ||
- | 3 < 3 liefert FALSCH | ||
- | 3 <= 3 liefert WAHR | ||
- | | ||
- | Es gibt eine ganze Anzahl von Vergleichsoperatoren für, verschiedene Datentypen, einen Überblick gibt das PHP Handbuch: [[http:// | ||
- | |||
- | Vergleiche können darüber hinaus noch logisch vernüpft werden, z.B. so: | ||
- | |||
- | 4 == 5 ODER 3 == 3 liefert WAHR | ||
- | |||
- | denn bei der Verknüpfung mit ODER reicht es, wenn eine der beiden Vergleichsoperationen WAHR ist. Man kann dazu eine Wahrheitstabelle aufstellen: | ||
- | |||
- | ^ ODER ^^ (PHP Notation '' | ||
- | | '' | ||
- | | | ||
- | | | ||
- | | FALSCH | ||
- | | FALSCH | ||
- | |||
- | |||
- | **Aufgabe** | ||
- | |||
- | Erstelle für jeder der logischen Operatoren eine solche Wahrheitstabelle: | ||
- | |||
- | |||
- | ===== Experiment: Passwort prüfen ===== | ||
- | |||
- | Wir legen (in einem neuen Unterverzeichnis, | ||
- | |||
- | |||
- | Zunächst ein neues Formular, welches eingegebene Daten an '' | ||
- | |||
- | <code html eingabe.html> | ||
- | <form action=" | ||
- | < | ||
- | < | ||
- | </ | ||
- | </ | ||
- | |||
- | Zur Verarbeitung legen wir die Datei '' | ||
- | |||
- | <code php ausgabe.php> | ||
- | if ($_POST[" | ||
- | print " | ||
- | } | ||
- | else { | ||
- | print " | ||
- | } | ||
- | </ | ||
- | |||
- | Per if-Anweisung überprüfen wir, ob das eingegebene Passwort dem Wert " | ||
- | <box 98% round orange|Achtung> | ||
- | Achtung: Die Passwort-Prüfung ist in der vorliegenden Form noch keine sinnvolle Lösung für eine Zugangsbeschränkung (daher das " | ||
- | </ | ||
- | |||
- | ---- | ||
- | {{: | ||
- | |||
- | === (A1) === | ||
- | Teste das " | ||
- | |||
- | Erweitere das " | ||
- | |||
- | * Ermittle mit der " | ||
- | * Baue im Zweig mit dem korrekten Passwort noch eine Unterscheidung ein, so dass der Benutzer je nach Tageszeit anders begrüßt wird (z.B. "Guten Morgen" | ||
- | |||
- | |||
- | ====== Mehrfachverzweigung mit switch ====== | ||
- | |||
- | |||
- | Mit der Switch-Anweisung lassen sich quasi mehrere If-Abfragen bündeln, wenn man eine Variable auf unterschiedliche Inhalte abfragen möchte. | ||
- | |||
- | ===== Beispiel: Mehrfachverzweigung mit switch ===== | ||
- | |||
- | <code php beispiel.php> | ||
- | $a = 30; | ||
- | $b = 12; | ||
- | $op = " | ||
- | |||
- | switch ($op){ | ||
- | case " | ||
- | echo "$a plus $b ergibt: ", $a + $b; | ||
- | break; | ||
- | case " | ||
- | echo "$a minus $b ergibt: ", $a - $b; | ||
- | break; | ||
- | case " | ||
- | case " | ||
- | echo "$a mal $b ergibt: ", $a * $b; | ||
- | break; | ||
- | case "/": | ||
- | case ":": | ||
- | echo "$a durch $b ergibt: ", $a / $b; | ||
- | break; | ||
- | default: | ||
- | echo "Das Rechenzeichen ' | ||
- | } | ||
- | </ | ||
- | |||
- | Mit dem Schlüsselwort '' | ||
- | |||
- | Die einzelnen Fallunterscheidungen werden mit der Kombination aus '' | ||
- | |||
- | Das Schlüsselwort '' | ||
- | |||
- | Folgt einem '' | ||
- | |||
- | |||
- | ===== Beispiel: Mehrfachverzweigung mit " | ||
- | |||
- | <code php beispiel.php> | ||
- | $note = 1; | ||
- | |||
- | echo "Sie haben eine "; | ||
- | |||
- | switch ($note){ | ||
- | case 1: | ||
- | echo "sehr "; | ||
- | case 2: | ||
- | echo "gute "; | ||
- | default: | ||
- | echo "Note "; | ||
- | } | ||
- | |||
- | echo "$note bekommen."; | ||
- | // Ergebnisse | ||
- | // $note = 1: "Sie haben eine sehr gute Note 1 bekommen." | ||
- | // $note = 2: "Sie haben eine gute Note 2 bekommen." | ||
- | // $note = 3: "Sie haben eine Note 3 bekommen." | ||
- | </ | ||
- | |||
- | Das Fehlen von '' | ||
- | |||
- | ====== Aufgabe ====== | ||
- | |||
- | Ergänze das Taschenrechner-Beispiel durch ein Formular, so dass du im Unterverzeichnis " | ||
- | |||
- | * Erstelle das passende Formular in einer HTML Datei (3 Eingabefelder). | ||
- | * Verändere das case-Beispiel so, dass es die entsprechenden '' | ||
- | |||
- | ====== Aufgabe ====== | ||
- | |||
- | Implementiere einen " | ||
- | |||
- | ---- | ||
- | |||
- | Die Inhalte dieser Seite sind den PHP Einsteiger Tutorials auf https:// |