Menu
Coddy logo textTech

Funkcje zmienne

Część sekcji Logika i przepływ programu ścieżki PHP w Coddy. Lekcja 6 z 68.

Funkcje zmienne oferują inny sposób dynamicznego wywoływania funkcji w PHP. Zamiast używać call_user_func(), możesz bezpośrednio wywołać funkcję, traktując zmienną zawierającą nazwę funkcji tak, jakby była samą funkcją.

Składnia jest prosta: jeśli masz zmienną zawierającą nazwę funkcji, możesz wywołać tę funkcję, dodając nawiasy do zmiennej:

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

$functionName = "sayHello";
$functionName();  // Wyświetla: Hello World!
?>

Działa to również w przypadku funkcji, które przyjmują parametry. Wystarczy przekazać argumenty w nawiasach:

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

$func = "greet";
$func("Alice");  // Wyświetla: Hello, Alice!
?>

Funkcje zmiennych zapewniają przejrzysty i intuicyjny sposób dynamicznego wykonywania kodu. Ta funkcja jest szczególnie przydatna, gdy trzeba wywoływać różne funkcje w zależności od warunków lub danych wejściowych użytkownika, dzięki czemu kod jest bardziej elastyczny i łatwiej go dostosować.

challenge icon

Wyzwanie

Łatwy

Utwórz trzy funkcje: calculateArea, która przyjmuje dwie liczby (długość i szerokość) i zwraca ich iloczyn, calculatePerimeter, która przyjmuje dwie liczby i zwraca dwukrotność ich sumy, oraz calculateDiagonal, która przyjmuje dwie liczby i zwraca pierwiastek kwadratowy z sumy ich kwadratów.

Otrzymasz trzy dane wejściowe: nazwę działania ("area", "perimeter" lub "diagonal"), długość i szerokość. Odczytaj wszystkie trzy dane wejściowe, zapisz nazwę funkcji w zmiennej, wywołaj tę funkcję, używając składni wywołania funkcji przez zmienną i podając dwa wymiary, a następnie wypisz wynik.

Format danych wejściowych: Trzy wiersze — pierwszy wiersz zawiera nazwę działania, drugi wiersz zawiera długość (liczbę, która może zawierać część dziesiętną), a trzeci wiersz zawiera szerokość (liczbę, która może zawierać część dziesiętną)

Oczekiwane wyjście: Wynik obliczenia

Spróbuj swoich sił

<?php
// Wczytaj dane wejściowe
$operation = trim(fgets(STDIN));
$length = floatval(fgets(STDIN));
$width = floatval(fgets(STDIN));

// TODO: Utwórz tutaj trzy funkcje (calculateArea, calculatePerimeter, calculateDiagonal)

// TODO: Wywołaj odpowiednią funkcję, używając składni wywołania funkcji przez zmienną, i zapisz wynik

// Wyświetl wynik
echo $result;
?>
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator PHP online