Menu
Coddy logo textTech

Variablenbereich

Teil des Abschnitts Grundlagen der PHP-Journey von Coddy. Lektion 67 von 71.

Variablen, die innerhalb einer Funktion erstellt werden, sind vollständig von Variablen außerhalb der Funktion getrennt. Dieses Konzept wird Variablenbereich genannt, und sein Verständnis hilft dir, verwirrende Fehler in deinem Code zu vermeiden.

Eine innerhalb einer Funktion definierte Variable existiert nur innerhalb dieser Funktion. Sie wird als lokale Variable bezeichnet:

<?php
function sayHi() {
    $message = "Hello!";
    echo $message;
}

sayHi();
echo $message; // Fehler: $message existiert hier nicht
?>

Die Variable $message wird innerhalb von sayHi() erstellt und verschwindet, wenn die Funktion endet. Der Versuch, außerhalb darauf zuzugreifen, verursacht einen Fehler.

Ebenso sind Variablen, die außerhalb einer Funktion definiert wurden, nicht automatisch innerhalb der Funktion verfügbar:

<?php
$name = "Alice";

function greet() {
    echo $name; // Fehler: $name ist innerhalb dieser Funktion nicht definiert
}

greet();
?>

Obwohl $name im Hauptcode existiert, kann die Funktion es nicht sehen. Um außerhalb einer Funktion liegende Werte in einer Funktion zu verwenden, übergib sie als Parameter: Das ist der saubere, empfohlene Ansatz, den du bereits kennengelernt hast.

Diese Trennung ist tatsächlich hilfreich. Das bedeutet, dass Funktionen nicht versehentlich Variablen in anderen Teilen deines Programms ändern und dein Code dadurch vorhersehbarer und leichter zu debuggen ist.

challenge icon

Aufgabe

Einfach

Lies zwei Eingabezeilen ein:

  1. Den Namen einer Person (z. B. Alice)
  2. Einen Bonusbetrag als ganze Zahl (z. B. 50)

Erstelle eine Funktion namens calculateBonus, die zwei Parameter akzeptiert: $name (String) und $bonus (Int).

Innerhalb der Funktion:

  • Erstelle eine lokale Variable $baseSalary und setze sie auf 1000
  • Berechne das Gesamtgehalt, indem du $baseSalary und $bonus addierst
  • Gib einen String im Format [name] earns [total] zurück

Rufe die Funktion mit den Eingabewerten auf und gib das zurückgegebene Ergebnis aus.

Beispiel 1:

Wenn die Eingaben Alice und 50 sind, sollte die Ausgabe wie folgt aussehen:

Alice earns 1050

Beispiel 2:

Wenn die Eingaben Bob und 200 sind, sollte die Ausgabe wie folgt aussehen:

Bob earns 1200

Beispiel 3:

Wenn die Eingaben Emma und 0 sind, sollte die Ausgabe wie folgt aussehen:

Emma earns 1000

Probier es selbst

<?php
// Eingabe lesen
$name = trim(fgets(STDIN));
$bonus = intval(fgets(STDIN));

// TODO: Erstelle die calculateBonus-Funktion unten
// - Sie sollte $name (string) und $bonus (int) als Parameter akzeptieren
// - Erstelle eine lokale Variable $baseSalary mit dem Wert 1000
// - Berechne die Gesamtvergütung und gib "[name] earns [total]" zurück



// Rufe die Funktion auf und gib das Ergebnis aus
echo calculateBonus($name, $bonus);
?>
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-PHP-Compiler