Menu
CoddyTech

Variablenfunktionen

Teil des Abschnitts Logik & Ablauf der PHP-Journey von Coddy. Lektion 6 von 68.

Variablenfunktionen bieten in PHP eine weitere Möglichkeit, Funktionen dynamisch aufzurufen. Anstatt call_user_func() zu verwenden, kannst du eine Funktion direkt aufrufen, indem du eine Variable, die den Funktionsnamen enthält, so behandelst, als wäre sie die Funktion selbst.

Die Syntax ist einfach: Wenn du eine Variable hast, die einen Funktionsnamen enthält, kannst du diese Funktion aufrufen, indem du Klammern an die Variable anhängst:

<?php
function sayHello() {
    echo "Hello World!";
}

$functionName = "sayHello";
$functionName();  // Ausgabe: Hello World!
?>

Das funktioniert auch mit Funktionen, die Parameter akzeptieren. Du übergibst die Argumente einfach in Klammern:

<?php
function greet($name) {
    echo "Hello, " . $name . "!";
}

$func = "greet";
$func("Alice");  // Gibt aus: Hello, Alice!
?>

Variablenfunktionen bieten eine übersichtliche und intuitive Möglichkeit, Code dynamisch auszuführen. Diese Funktion ist besonders nützlich, wenn du abhängig von Bedingungen oder Benutzereingaben verschiedene Funktionen aufrufen musst. Dadurch wird dein Code flexibler und anpassungsfähiger.

challenge icon

Aufgabe

Einfach

Erstelle drei Funktionen: calculateArea, die zwei Zahlen (Länge und Breite) entgegennimmt und ihr Produkt zurückgibt, calculatePerimeter, die zwei Zahlen entgegennimmt und das Doppelte ihrer Summe zurückgibt, und calculateDiagonal, die zwei Zahlen entgegennimmt und die Quadratwurzel aus der Summe ihrer Quadrate zurückgibt.

Du erhältst drei Eingaben: den Namen der Operation ("area", "perimeter" oder "diagonal"), die Länge und die Breite. Lies alle drei Eingaben ein, speichere den Funktionsnamen in einer Variablen und rufe diese Funktion mithilfe der variablen Funktionssyntax mit den beiden Maßen auf. Speichere den Rückgabewert in $result: Die Zeile unter deinem Code gibt ihn aus.

Eingabeformat: Drei Zeilen – die erste Zeile enthält den Namen der Operation, die zweite Zeile die Länge (eine Zahl, die Dezimalstellen enthalten kann), die dritte Zeile die Breite (eine Zahl, die Dezimalstellen enthalten kann)

Erwartete Ausgabe: Das Ergebnis der Berechnung

Probier es selbst

<?php
// Eingaben einlesen
$operation = trim(fgets(STDIN));
$length = floatval(fgets(STDIN));
$width = floatval(fgets(STDIN));

// TODO: Erstelle hier die drei Funktionen (calculateArea, calculatePerimeter, calculateDiagonal)

// TODO: Rufe die passende Funktion mithilfe der Syntax für variable Funktionen auf und speichere das Ergebnis in $result

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 Logik & Ablauf

Übe selbstständig: Online-PHP-Compiler