studyklar
IProg · Skript 5 · Abschnitt 2

Funktionen in PHP: Parameter, Default-Werte, Typen

Funktionen bündeln Code unter einem Namen, damit man ihn mehrmals aufrufen kann. Hier steht, wie das in PHP aussieht und wie Werte in eine Funktion hinein- und wieder herauskommen. Rechts laufen die Beispiele mit ihrer echten Ausgabe. Mit Weiter geht es Schritt für Schritt voran.

Worum es geht

Skript 05, Folien 5–11: einfache Funktionen, Eigenschaften, eingebaute Funktionen, Extensions, Parameterübergabe, Default-Werte, Typisierung.

Wie schreibt man in PHP eine Funktion? Was darf beim Aufruf fehlen, was darf zu viel sein? Und wie verhindert man, dass ein Wert vom falschen Typ hineinkommt?

Merke: Eine Funktion bekommt beim Aufruf Argumente (die Werte im Aufruf). In der Funktion heißen sie Parameter (die Namen in der Klammer der Deklaration).

So gehen wir vor:

  1. Aufbau einer Funktion und ein Beispiel durchgerechnet.
  2. Eigenschaften: Reihenfolge, Groß- und Kleinschreibung, return.
  3. Eingebaute Funktionen und Extensions.
  4. Parameter: Übergabe als Kopie, variable Listen, Default-Werte, Typen.
  5. Eine Klausurfrage dazu.

Aufbau einer Funktion

Skript · Folie 5

Funktionen werden durch folgende Syntax deklariert:

function tuwas ($a_1, $a_2, ..., $a_n) {  ...  return $wert;}

Eine Funktion beginnt mit dem Schlüsselwort function. Dann folgen ihr Name und in runden Klammern die Parameter. Jeder Parameter ist eine Variable mit $, die beim Aufruf ihren Wert bekommt.

In den geschweiften Klammern steht der Rumpf: der Code, der bei jedem Aufruf läuft. return beendet die Funktion und gibt einen Wert an den Aufrufer zurück.

Rechts steht das Beispiel von Folie 5: tuwas mit den Parametern $q und $n.

tuwas(2, 3) durchgerechnet

function tuwas ($q, $n) {  $res = 1;  for ($i = 1; $i <= $n; $i++)    $res *= $q;  return $res;}
Zeitpunkt$i$resBedingung $i <= 3
Start–1–
1. Durchlauf11 · 2 = 21 <= 3 wahr
2. Durchlauf22 · 2 = 42 <= 3 wahr
3. Durchlauf34 · 2 = 83 <= 3 wahr
Ende484 <= 3 falsch → return 8

Beim Aufruf tuwas(2, 3) bekommt $q den Wert 2 und $n den Wert 3. $res startet bei 1.

Die Schleife läuft für $i = 1, 2, 3. $res *= $q heißt $res = $res * $q: Jeder Durchlauf multipliziert mit 2. Die Tabelle rechts zeigt jeden Durchlauf.

Bei $i = 4 ist 4 <= 3 falsch, die Schleife endet. return gibt 8 zurück. Die Funktion rechnet also $q hoch $n: 2 · 2 · 2 = 8.

Noch 12 Schritte bis zum Ergebnis
Den ganzen Lösungsweg sehen Studierende und Lehrende der HS KL. Registriere dich mit deiner Adresse @stud.hs-kl.de oder @hs-kl.de, dann geht es hier direkt weiter.

Abbildung 1Funktionen deklarieren

function, return, Eigenschaften

echo TuWas(2, 3), "\n"; function tuwas ($q, $n) {  $res = 1;  for ($i = 1; $i <= $n; $i++)    $res *= $q;  return $res;} echo tuwas(2, 10), "\n";
LegendeZeilen des SchrittsDie Beispielfunktion von Folie 5 mit zwei Aufrufen.