Menu
Coddy logo textTech

Funzioni variabili

Fa parte della sezione Logica e flusso del percorso PHP di Coddy. Lezione 6 di 68.

Le funzioni variabili offrono un altro modo per chiamare dinamicamente le funzioni in PHP. Invece di usare call_user_func(), puoi chiamare direttamente una funzione trattando una variabile contenente il nome della funzione come se fosse la funzione stessa.

La sintassi è semplice: se hai una variabile che contiene il nome di una funzione, puoi chiamare quella funzione aggiungendo parentesi alla variabile:

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

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

Funziona anche con le funzioni che accettano parametri. Ti basta passare gli argomenti tra parentesi:

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

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

Le funzioni variabili offrono un modo chiaro e intuitivo per eseguire codice dinamicamente. Questa funzionalità è particolarmente utile quando devi chiamare funzioni diverse in base a condizioni o all'input dell'utente, rendendo il tuo codice più flessibile e adattabile.

challenge icon

Sfida

Facile

Crea tre funzioni: calculateArea che accetta due numeri (lunghezza e larghezza) e ne restituisce il prodotto, calculatePerimeter che accetta due numeri e ne restituisce il doppio della somma, e calculateDiagonal che accetta due numeri e restituisce la radice quadrata della somma dei loro quadrati.

Riceverai tre input: il nome dell’operazione ("area", "perimeter" oppure "diagonal"), la lunghezza e la larghezza. Leggi tutti e tre gli input, memorizza il nome della funzione in una variabile, chiama quella funzione usando la sintassi delle funzioni variabili con le due misure e stampa il risultato.

Formato dell'input: Tre righe: la prima riga contiene il nome dell’operazione, la seconda riga contiene la lunghezza (un numero che può contenere decimali), la terza riga contiene la larghezza (un numero che può contenere decimali)

Output previsto: Il risultato del calcolo

Provalo tu

<?php
// Leggi i dati di input
$operation = trim(fgets(STDIN));
$length = floatval(fgets(STDIN));
$width = floatval(fgets(STDIN));

// TODO: Crea qui le tre funzioni (calculateArea, calculatePerimeter, calculateDiagonal)

// TODO: Chiama la funzione appropriata usando la sintassi delle funzioni variabili e memorizza il risultato

// Mostra il risultato
echo $result;
?>
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore PHP online