English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, imparerai come scrivere codice decisionale utilizzando le espressioni if ... else ... elseif in PHP.
Come la maggior parte dei linguaggi di programmazione, PHP ti permette di scrivere codice che esegue operazioni diverse in base ai risultati di test logici o di confronto delle condizioni. Questo significa che puoi creare condizioni testabili in forma di espressione che calcolano true o false, e in base a questi risultati puoi eseguire determinate operazioni.
PHP ha alcune espressioni che possono essere utilizzate per prendere decisioni:
if Espressione
if ... else Espressione
if...elseif..else Espressione
switch...case Espressione
In una parte successiva esploreremo ogni espressione.
Esse sono eseguite solo quando il valore specificato della condizione è trueifLe istruzioni sono utilizzate per eseguire blocchi di codice. È la più semplice delle espressioni condizionali PHP, e può essere scritta così:
if(condition){ //Codice da eseguire }
Esempio di output: "Buona settimana fine!" Se oggi è venerdì:
<?php $d = date("D"); if($d == "Fri"){ echo "Buona giornata di weekend!"; } ?>Prova a vedere‹/›
Puoi aggiungere un else all'istruzione if per fornire una scelta alternativa, migliorando il processo decisionale. Se la condizione specificata è True, l'istruzione if ... else ti permette di eseguire un blocco di codice, se la condizione è False, puoi eseguire un altro blocco di codice. Puoi scrivere così:
if(condition){ //Il codice da eseguire se la condizione è vera } //Il codice da eseguire se la condizione è falsa }
Esempio di output: "Buona settimana fine!" Se la data odierna è venerdì, viene outputto: "Buona giornata!"
<?php $d = date("D"); if($d == "Fri"){ echo "Buona giornata di weekend!"; } else{ echo "Buona giornata!"; } ?>Prova a vedere‹/›
Espressioni speciali if ... elseif ... else, utilizzate per combinare più espressioni if ... else.
if(condition1){ //Il codice da eseguire se condition1 è vero } //Il codice da eseguire se condition1 è falso e condition2 è vero } //Il codice da eseguire se condition1 e condition2 devono essere eseguiti e sono errati }
Esempio di output: "Buona settimana fine!" Se la data odierna è venerdì, altrimenti se la data odierna è domenica, altrimenti viene outputto: "Buona giornata!"
<?php $d = date("D"); if($d == "Fri"){ echo "Buona giornata di weekend!"; } elseif($d == "Sun"){ echo "Buona domenica!"; } else{ echo "Buona giornata!"; } ?>Prova a vedere‹/›
InCapitolo successivoIn questo capitolo, imparerai informazioni sulla sintassi switch-case di PHP.
L'operatore ternario fornisce un metodo semplice per scrivere if... else statement. L'operatore ternario è rappresentato dal punto interrogativo (?) e ha tre operandi: la condizione da verificare, il risultato se la condizione è vera e il risultato se la condizione è falsa.
Per comprendere come funziona questo operatore, consulta il seguente esempio:
<?php $age = 15; if($age < 18){ echo '儿童'; //Se l'età è minore di 18 anni, visualizza child } else{ echo '成人'; //Se l'età è maggiore o uguale a 18 anni, visualizza adulto } ?>Prova a vedere‹/›
Utilizzando l'operatore ternario, lo stesso codice può essere scritto in modo più compatto:
<?php $age = 15; echo ($age < 18) ? '儿童' : '成人'; ?>Prova a vedere‹/›
Nel esempio precedente, l'operatore ternario seleziona il valore a sinistra del due punti (cioè 'child') se il risultato del calcolo della condizione è true (cioè $age minore di 18), altrimenti seleziona il valore a destra del due punti (cioè 'adult').
Suggerimento:Il codice scritto utilizzando l'operatore ternario potrebbe essere difficile da leggere. Tuttavia, fornisce un ottimo metodo per scrivere if-else statement compatti.
PHP 7 ha introdotto un nuovo operatore di combinazione vuota (??), che puoi utilizzare come forma abbreviata, dove è necessario combinare l'operatore ternario e la funzione isset().
Per comprendere meglio questo punto, consulta il seguente esempio di codice. Esso recupera il valore di $_GET['name'], e se non esiste o è NULL, restituisce 'anonymous'.
<?php //Utilizzo dell'operatore ternario(?:) $name = isset($_GET['name']) ? $_GET['name'] : 'anonymous'; echo $name; ?>Prova a vedere‹/›
Utilizzando l'operatore di combinazione vuota, lo stesso codice può essere scritto come:
<?php //Utilizzo dell'operatore di combinazione vuota (??) $name = $_GET['name'] ?? 'anonymous'; echo $name; ?>Prova a vedere‹/›
Come hai visto, la sintassi successiva è più compatta e facile da scrivere.