www.PHP-Kurs.com

PHP lernen für Einsteiger
und Fortgeschrittene

PHP-Tutorial mit Videos

Sie befinden sich: Startseite » PHP lernen für Einsteiger » Funktionen von PHP » Funktionen ab PHP 7

Funktionen ab PHP 7

PHP 7 bietet bei Funktionen weitere Möglichkeiten. Bisher hat man seine Funktion einfach definiert und Werte übergeben.

function berechnung($a, $b) { …

Hier erfolgte keine Berücksichtigung, um welchen skalare Variablentype es sich handeln soll. Skalare Variablen sind Variablen, die nur einen einzelnen Wert speichern können.

Mit PHP 7 können wir nun für eine Funktion festlegen, welcher Typ erwartet wird. Zur Verfügung stehen:

  • string
  • int
  • float
  • bool

Unser erstes Beispiel soll mit Ganzzahlen arbeiten, also legen wir als Variablentyp int für die Funktion fest:

function berechnung(int $a, int $b) { …

Soll unsere Funktion mit Nachkommazahlen rechnen und entsprechende Werte übergeben bekommen können, legen wir das im Funktionskopf fest:

function berechnung(float $a, float $b) { …

Was passiert nun, wenn anstelle von Ganzzahlen (int) nun Nachkommazahlen (float) übergeben werden?

Schauen wir uns folgendes Beispiel an:

function berechnung(int $a, int $b) { 
    echo $a+$b;
}

berechnung( 2.3,  2.7 );

Als Ergebnis erhalten wir 4 - also Bereits im Funktionskopf werden die Nachkommawerte abgetrennt und jeweils mit 2 weitergerechnet.

Spannender wird, was bei einer Übergabe von einem String passiert:

function berechnung(int $a, int $b) { 
    echo "In der Funktion: ". gettype($b);
    echo "<br>";
    echo $a+$b;
}

$wert = "2.7";
echo "Vor Funktionsaufruf: ". gettype($wert);
echo "<br>";

berechnung( 2.3, $wert );

Als Rückgabe erhalten wir:

Vor Funktionsaufruf: string

In der Funktion: integer

4

Es geschieht also automatisch ein Umwandeln der Variablentypen – das sogenannte „casting“.

Art der Rückgabewerte in Funktionen deklarieren ab PHP 7

Genauso wie wir die Datentypen, die wir in die Funktion übergeben, ab PHP 7 festlegen können, können die Rückgabe-Datentypen festgelegt werden.

Zurück zu unserem einfachen Beispiel, das 2 Werte zusammenrechnet und das Ergebnis zurückgibt:

function berechnung(float $a, float $b): float { …

Hier sieht man am Aufbau, dass nach der runden Klammer im Funktionskopf nun getrennt durch einen Doppelpunkt der Rückgabe-Datentyp festlegt wird. In unserem Beispiel wird eine Nachkommazahl also als Ergebnis aus der Funktion geliefert.

Hier kann auch Beispielsweise ein Array rückgeliefert werden:

function berechnung(float $a, float $b): array { …

Diese Möglichkeiten macht PHP ab der Version 7 sicherer und den Code zum Lesen verständlicher.