Funktionen, Arrays und eingebaute PHP-Funktionen kombinieren
Erstelle eine neue Datei notenrechner.php in deinem htdocs/-Ordner und öffne sie über http://localhost/notenrechner.php. Versuche zuerst selbst – die Lösung gibt es zum Kontrollieren.
Eigene Funktion
Parameter entgegennehmen, Ergebnis mit return zurückgeben
Array als Parameter
Eine Funktion kann ein ganzes Array entgegennehmen
Eingebaute Funktionen
count(), array_sum(), round()
Schreibe eine Funktion berechneDurchschnitt($punkteArray), die den Durchschnitt eines Arrays von Punktzahlen berechnet und als gerundeten Wert (1 Dezimalstelle) zurückgibt.
"Keine Daten vorhanden" zurück.[88, 72, 95, 61, 84] → Erwartet: 80.0count($array)
Liefert die Anzahl der Elemente
array_sum($array)
Liefert die Summe aller Elemente
round($zahl, 1)
Rundet auf 1 Dezimalstelle
Schreibe eine zweite Funktion punkteZuNote($punkte), die eine Punktzahl als Zahl entgegennimmt und die passende Notenstufe als String zurückgibt.
| Punkte | Note |
|---|---|
| 90 – 100 | Sehr Gut (1) |
| 75 – 89 | Gut (2) |
| 60 – 74 | Befriedigend (3) |
| 50 – 59 | Genügend (4) |
| 0 – 49 | Nicht Genügend (5) |
berechneDurchschnitt(), dann das Ergebnis an punkteZuNote() übergeben.Der Rückgabewert einer Funktion kann direkt als Argument einer anderen Funktion übergeben werden: punkteZuNote(berechneDurchschnitt($punkte)) funktioniert genauso – PHP führt die innere Funktion zuerst aus.
Erweitere die Lösung aus Aufgabe 1 & 2 um ein POST-Formular. Die Studierenden sollen ihre eigenen Punkte eingeben können.
berechneDurchschnitt() übergeben.punkteZuNote() weitergegeben und beides ausgegeben.Sicherheit
Alle POST-Werte mit (int) casten und auf den Bereich 0–100 prüfen, bevor sie ins Array kommen. Niemals rohe Benutzereingaben in Berechnungen verwenden.
Dynamische Webseiten 2 | eduhigh.net | Seminarunterlagen