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.
Sfida
FacileCrea 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;
?>Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Funzioni avanzate
Funzioni anonimeClosure e 'use'Funzioni frecciaFunzioni callbackUso di 'call_user_func'Funzioni variabiliPassaggio per riferimentoFunzioni ricorsiveRiepilogo: carrellata di funzioni4Array multidimensionali
Creare un array 2DAccedere agli elementi di un array 2DModificare gli elementi di un array 2DIterare con cicli annidatiArray associativi 2DRipasso: esercizio con una griglia semplice2Manipolazioni avanzate degli array
Aggiungere con 'array_push'Rimuovere con 'array_pop'Aggiungere con 'array_unshift'Rimuovere con 'array_shift'Unire array indicizzatiUnire array associativiEstrarre con 'array_slice'Valori con 'in_array'Chiavi con 'array_search'Riepilogo: esercizio playlist3Ordinare gli array
Ordina gli array indicizzati in ordine crescenteOrdina gli array indicizzati in ordine decrescenteOrdina gli array associativi per valoreOrdina gli array associativi per chiaveOrdinamento naturaleOrdinamento personalizzato con 'usort'Ripasso: ordinamento della classificaEsercitati da solo: Compilatore PHP online