Istruzione switch
Fa parte della sezione Fondamenti del percorso PHP di Coddy. Lezione 32 di 71.
Quando devi confrontare una singola variabile con molti valori specifici, l'istruzione switch offre un'alternativa più chiara alle lunghe catene di if-elseif.
L'istruzione switch controlla una variabile una volta e poi la confronta con diversi valori case:
<?php
$day = "Monday";
switch ($day) {
case "Monday":
echo "Start of the week";
break;
case "Friday":
echo "Almost weekend";
break;
case "Saturday":
case "Sunday":
echo "Weekend!";
break;
default:
echo "Regular day";
}
?>PHP confronta $day con ogni caso. Quando trova una corrispondenza, esegue il codice di quel blocco.
L'istruzione break è fondamentale. Dice a PHP di uscire dallo switch dopo aver eseguito il case corrispondente. Senza di essa, PHP continuerebbe a eseguire tutto il codice sottostante, anche quello degli altri case.
Nota come sabato e domenica condividano lo stesso codice raggruppando i casi. Il caso default funziona come un else. Viene eseguito quando nessun altro caso corrisponde.
<?php
$grade = "B";
switch ($grade) {
case "A":
echo "Excellent!";
break;
case "B":
echo "Good job!";
break;
default:
echo "Keep trying!";
}
?>Usa switch quando confronti una variabile con più valori esatti. Per condizioni complesse o intervalli, attieniti alle istruzioni if-elseif.
Sfida
FacileLeggi una stringa command dall'input che rappresenta il colore di un semaforo.
Usa un'istruzione switch per determinare l'azione appropriata in base al colore:
- Se il comando è
red, stampaStop - Se il comando è
yellow, stampaSlow down - Se il comando è
green, stampaGo - Se il comando è
flashing redoflashing yellow, stampaProceed with caution - Per qualsiasi altro valore, stampa
Invalid signal
Esempio:
Se l'input è green, l'output dovrebbe essere:
GoSe l'input è flashing red, l'output dovrebbe essere:
Proceed with cautionSe l'input è blue, l'output dovrebbe essere:
Invalid signalProvalo tu
<?php
// Leggi l'input
$command = trim(fgets(STDIN));
// TODO: Scrivi il tuo codice qui sotto usando un'istruzione switch
// Determina l'azione appropriata in base al colore del semaforo
?>Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori di confronto e logici
Operatori di confrontoUguaglianza e identitàOperatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica semplice2Variabili e tipi di dati
NumeriStringhe e virgoletteValori booleaniConvenzioni di denominazioneRiepilogo - Inizializzazione delle variabiliVariabili vuoteConcatenazione di stringheAcquisire input dall'utenteConvertire in tipi diversi5Logica condizionale
Istruzione ifIf - elseL’operatore ternarioOperatore null coalescingIstruzione switchRiepilogo - Prendere decisioni3Operatori di base
Operatori aritmeticiOperatore moduloOperatore di elevamento a potenzaAssegnazione compostaIncremento/decrementoPrecedenza degli operatoriRiepilogo - calcoli sempliciOperatori per stringheEsercitati da solo: Compilatore PHP online