Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
faecher:informatik:oberstufe:php:funktionen:start [11.02.2019 11:50] – Externe Bearbeitung 127.0.0.1 | faecher:informatik:oberstufe:php:funktionen:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Funktionen ====== | ||
- | |||
- | * Eine Funktion ist ein Block von Anweisungen, | ||
- | * Eine Funktion wird nicht sofort ausgeführt, | ||
- | * Eine Funktion wird durch einen Aufruf der Funktion ausgeführt. | ||
- | |||
- | ===== Syntax ===== | ||
- | |||
- | < | ||
- | |||
- | function < | ||
- | < | ||
- | | ||
- | } | ||
- | |||
- | </ | ||
- | |||
- | Eine Funktion muss keine Übergabewerte haben, sie muss auch nicht zwingend einen Wert zurückgeben. | ||
- | |||
- | ===== Beispiel ===== | ||
- | |||
- | Funktion ohne Übergabe- und Rückgabewert | ||
- | |||
- | <code php> | ||
- | <?php | ||
- | function sagHallo() { | ||
- | echo "Halle Welt"< | ||
- | } | ||
- | |||
- | sagHallo(); | ||
- | echo "Huhu <br />"; | ||
- | sagHallo(); | ||
- | ?> | ||
- | </ | ||
- | |||
- | {{ : | ||
- | |||
- | ===== Aufgabe: ===== | ||
- | |||
- | |||
- | Probiere das Beispiel in deinem Webspace aus. | ||
- | |||
- | ===== Funktionen mit Übergabewert ===== | ||
- | |||
- | |||
- | Beim Funktions-Aufruf können Inhalte übergeben werden, im Beispiel '' | ||
- | Die Funktion nimmt die Argumente dabei in der angebenen Reihenfolge entgegen und weist diese den Variablen '' | ||
- | |||
- | <code php> | ||
- | <?php | ||
- | function teilen( $zaehler, $nenner ) | ||
- | { | ||
- | $bruch=$zaehler/ | ||
- | echo $bruch; | ||
- | } | ||
- | |||
- | echo "< | ||
- | teilen(18, | ||
- | ?> | ||
- | </ | ||
- | |||
- | Alle Variablen, die innerhalb der Funktion deklariert oder initialisiert werden, gelten nur **lokal** innerhalb des Funktionsblocks. Probiere den folgenden Code aus: | ||
- | |||
- | <code php> | ||
- | <?php | ||
- | function teilen( $zaehler, $nenner ) | ||
- | { | ||
- | $bruch=$zaehler/ | ||
- | | ||
- | } | ||
- | |||
- | echo "< | ||
- | teilen(18, | ||
- | echo $bruch; | ||
- | ?> | ||
- | </ | ||
- | |||
- | Da '' | ||
- | |||
- | Um dieses Problem zu lösen, kann man Rückgabewerte übergeben. Dabei kehrt der Programmablauf an die Stelle zurück, an der die Funktion aufgerufen wurde und übergibt den mit '' | ||
- | |||
- | <code php> | ||
- | <?php | ||
- | function teilen( $zaehler, $nenner ) | ||
- | { | ||
- | $bruch=$zaehler/ | ||
- | return $bruch; | ||
- | | ||
- | } | ||
- | |||
- | echo "< | ||
- | $ergebnis=teilen(18, | ||
- | echo $ergebnis; | ||
- | ?> | ||
- | </ | ||
- | |||
- | Aufpassen muss man, wenn man im globalen Programmbereich und innerhalb von Funktionen Variablen mit dem selben Namen verwendet: | ||
- | |||
- | <code php> | ||
- | <?php | ||
- | function teilen( $zaehler, $nenner ) | ||
- | { | ||
- | $bruch=$zaehler/ | ||
- | echo "Lokal in der Funktion: $bruch< | ||
- | return $bruch; | ||
- | |||
- | } | ||
- | |||
- | $bruch=500; | ||
- | echo " | ||
- | echo "< | ||
- | $ergebnis=teilen(18, | ||
- | echo $ergebnis; | ||
- | echo "< | ||
- | $bruch=teilen(20, | ||
- | //dem Rückgabewert überschrieben. | ||
- | echo "< | ||
- | ?> | ||
- | </ | ||
- | |||
- | ===== Aufgabe: ===== | ||
- | |||
- | |||
- | * Teste alle Beispiele in deinem Webspace | ||
- | * Finde heraus, wie man innerhalb einer Funktion auf globale Variablen zugreifen kann. | ||
- | * Erweitere das Divisionsbeispiel durch ein Formular, in dem du die beiden Werte eingeben kannst. Welchen Sonderfall solltest du überprüfen? | ||
- | * Erweitere dein Formular um ein weiteres Feld, in dem du weitere Rechenoperationen auswählen kannst. (Fakultät, Logarithmus? | ||
- | * Wenn du Startschwierigkeiten hast, kannst du mit der {{: | ||