PHP Parameter und Rückgabewerte

PHP Parameter und Rückgabewerte

Beim Schreiben von Funktionen in PHP geht es nicht nur darum,
einen wiederverwendbaren Codeblock zu definieren. Wirklich spannend werden Funktionen,
wenn sie Parameter (Input) entgegennehmen und Rückgabewerte liefern können.
Dieses Tutorial zeigt dir, wie du in PHP Funktionen parametrisierst und
durch return ein Ergebnis zurückgibst.


1. Parameter übergeben

Parameter (oder Argumente beim Aufruf) ermöglichen es, dass deine Funktion
mit verschiedenen Eingabewerten arbeiten kann, ohne den Code selbst anpassen zu müssen.

function begruessen($name) {
    echo "Hallo, $name!<br>";
}

begruessen("Max");  // Gibt "Hallo, Max!" aus
begruessen("Lisa"); // Gibt "Hallo, Lisa!" aus
  • $name ist ein Parameter, der beim Funktionsaufruf mit einem Wert belegt wird.
  • In obigem Beispiel wird „Max“ oder „Lisa“ an $name gebunden.

Mehrere Parameter

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

addieren(5, 7); // 12
addieren(2, 10); // 12

Trenne Parameter durch Kommas. Innerhalb der Funktion kannst du sie wie normale Variablen nutzen.


2. Standardwerte (Default-Parameter)

Manchmal möchtest du einen Parameter optional machen oder ihm einen
Standardwert geben, falls beim Funktionsaufruf kein Argument übergeben wird.

function begruessen($name = "Gast") {
    echo "Willkommen, $name!<br>";
}

// Aufruf ohne Argument
begruessen();        // "Willkommen, Gast!"
// Aufruf mit Argument
begruessen("Anna");  // "Willkommen, Anna!"

In diesem Fall wird „Gast“ verwendet, wenn kein Argument im Aufruf spezifiziert ist.


3. Rückgabewerte

In PHP kannst du mit return einen Wert aus einer Funktion zurückgeben.
Das ist nützlich, wenn du das Ergebnis einer Berechnung oder Verarbeitung weiterverwenden möchtest,
anstatt es nur auszugeben.

function multiplizieren($a, $b) {
    $produkt = $a * $b;
    return $produkt;
}

$ergebnis = multiplizieren(4, 5); // Funktionsaufruf liefert 20
echo "4 * 5 = $ergebnis"; // 4 * 5 = 20
  • return beendet die Funktion sofort. Code nach return wird nicht ausgeführt.
  • Du kannst auch direkt return $a * $b; schreiben, ohne Zwischenspeicherung in $produkt.

Mehrere Return-Pfade

function bewertePunktzahl($punkte) {
    if ($punkte >= 90) {
        return "Sehr gut";
    } elseif ($punkte >= 75) {
        return "Gut";
    } else {
        return "Ausreichend oder schlechter";
    }
}

echo bewertePunktzahl(92);  // Sehr gut
echo bewertePunktzahl(80);  // Gut
echo bewertePunktzahl(65);  // Ausreichend oder schlechter

Hier entscheidet die if-else-Logik, welcher Rückgabewert geliefert wird.


4. Typdeklaration für Parameter & Rückgabewerte

Seit PHP 7 kannst du den Datentyp der Parameter und des Rückgabewerts festlegen.
Das erhöht die Zuverlässigkeit, indem falsche Typen früh erkannt werden.

function addiere(int $a, int $b): int {
    return $a + $b;
}

echo addiere(3, 7);   // 10
  • int $a

    und

    int $b

    bedeutet, dass a und b
    idealerweise Integer sein sollen.

  • :
    int

    nach dem Funktionskopf bedeutet, dass die Funktion
    ebenfalls einen Integer zurückgibt.

Ohne declare(strict_types=1) versucht PHP ggf. automatisch zu konvertieren.
Mit strict types wird hingegen bei falschen Datentypen ein Fehler geworfen.


5. Variadische Funktionen (beliebig viele Parameter)

Wenn du nicht genau weißt, wie viele Argumente übergeben werden, kannst du den „Splat-Operator“
nutzen. Die Parameter werden dann als Array zusammengefasst:

function summe(...$zahlen) {
    $ergebnis = 0;
    foreach ($zahlen as $zahl) {
        $ergebnis += $zahl;
    }
    return $ergebnis;
}

echo summe(1, 2, 3); // 6
echo summe(4, 5);    // 9

6. Praktisches Beispiel

Nehmen wir an, wir wollen eine Funktion zur Berechnung des Durchschnitts anbieten:

function durchschnitt(...$werte) {
    if (count($werte) === 0) {
        return 0; // Keine Werte => Durchschnitt 0 (oder du gibst null zurück)
    }
    $summe = 0;
    foreach ($werte as $wert) {
        $summe += $wert;
    }
    return $summe / count($werte);
}

echo durchschnitt(10, 20, 30); // 20
echo durchschnitt();           // 0

So haben wir eine flexible Funktion, die mit beliebig vielen Zahlen umgehen kann.


7. Best Practices

  • Kurz und prägnant: Vergib Funktionen einen beschreibenden Namen,
    der ihr Verhalten klarmacht (z. B. berechneSteuer anstelle von calcSt).
  • Beschränke Anzahl der Parameter: Zu viele Parameter deuten auf
    zu komplexe Logik. Überlege, ob du stattdessen ein Array oder ein Objekt übergibst.
  • Rückgabewerte dokumentieren: Erkläre (zum Beispiel in Kommentaren),
    was genau deine Funktion zurückgibt (Typ, Bedeutung bei Fehlern etc.).

Fazit

Durch Parameter machst du deine PHP-Funktionen flexibel,
und über Rückgabewerte (mittels return) stellst du
das Ergebnis einer Operation dem restlichen Code zur Verfügung.
Ob du einzelne Variablen, Standardwerte oder gar eine unbegrenzte Anzahl von Argumenten
an deine Funktionen übergibst, hängt vom Anwendungsfall ab.
Mit einer durchdachten Parametrisierung und Nutzung von return
erhältst du wiederverwendbare Bausteine, die deinen Code strukturierter und
leichter wartbar machen.