Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Le condizioni: if, else e switch

Questa lezione del nostro breve corso su PHP è davvero fondamentale! Vedremo infatti come gestire il comportamento del nostro script sulla base del verificarsi o meno di determinate condizioni.
Qualora una data condizione si verifichi il codice si comporterà in un modo, nel caso contrario si comporterà in un altro.

Quelle che nel titolo di questa lezione abbiamo chiamato "condizioni" sono più propriamente dette strutture di controllo o strutture condizionali.

(L'articolo continua più sotto...)

La principale di queste strutture di controllo è il costrutto if..else (in italiano "se"). La struttura logica del suo funzionamento è davvero banale e ricalca totalmente la logica del comune utilizzo grammaticale della particella ipotetica "se".
Facciamo un esperimento: traduciamo in PHP la frase "se piove resto a casa":

<?php
//specifico il valore della variabile $tempo
$tempo = "piove";

//Costruisco la condizione
if ($tempo == "piove"){
  echo "resto a casa";
}
?>
Nel codice qui sopra la condizione si realizza e quindi "resto a casa" :-)

Nota: se nella vostra tastiera non figurano le parentesi graffe usate i tasti sui quali sono raffigurate le parentesi quadre, tenendo premuto ALT GR + il tasto per le maiuscole.

Ora facciamo un altro passo ancora e traduciamo in codice questa frase: "se piove resto a casa, altrimenti vado al parco":

<?php
//specifico il valore della variabile $tempo
$tempo = "sole";

//Costruisco la condizione
if ($tempo == "piove"){
  echo "resto a casa";
}else{
  echo "vado al parco";
}
?>
Nota: ricordatevi la differenza tra "=" e "==". Il primo è un operatore di assegnazione, il secondo è un operatore di confronto. Non confondeteli altrimenti non funzionerà nulla!

Vediamo adesso qualcosa di ancora più complesso: "se piove e fa freddo resto a casa, se non fa freddo vado al bar. Se invece non piove vado al parco":

<?php
//specifico il valore della variabile $tempo
$tempo = "sole";
//...e quello della variabile $temperatura
$temperatura = "freddo";

//Costruisco la condizione
if ($tempo == "piove"){
  if ($temperatura == "freddo"){
    echo "resto a casa";
  }else{
    echo "vado al bar";
  }
}else{
  echo "vado al parco";
}
?>
Quello che abbiamo fatto è stato semplicemente costruire una struttura nidificata di condizioni.
Nel codice qui sopra abbiamo creato una sorta di duplice livello di condizione (il secondo è spostato verso destra).
Se la prima condizione si verifica se ne innesta una seconda. Qualora invece la prima condizione non dovesse verificarsi la seconda condizione non viene nemmeno verificata.

Gli stessi risultati del costrutto "if..else" si possono ottenere con il controllo switch.

Per capire meglio il funzionamento di switch passiamo subito ad un esempio pratico e traduciamo in codice questa frase: "se piove resto a casa, se c‘è il sole vado al parco, in ogni altro caso vado al bar".
Ecco il codice:

<?php
//specifico il valore della variabile $tempo
$tempo = "sole";

switch ($tempo) {
  //se piove...
  case 'piove':
    echo "resto a casa"
    break;
  //se c‘è il sole...
  case 'sole':
    echo "vado al parco"
    break;
  //negli altri casi...
  default:
  echo "vado al bar"
}
?>
L‘istruzione "switch" prevede che venga idicata fra parentesi un‘espressione che servirà come elemento discriminante (nel nostro caso la variabile $tempo); di seguito, tra parentesi graffe, scriviamo le diverse possibilità offerte dall‘espressione iniziale: nel momento in cui ne viene trovata una "vera", PHP esegue il codice indicato di seguito, fino a quando non incontra un‘istruzione "break".
Per finire (sempre tra le parentesi graffe) è possibile indicare il "default" che indica a PHP il comportamento da tenersi qualora nessuna delle condizioni indicate sopra si realizzi. L‘indicazione "default" può anche essere assente, ma quando c‘è deve essere l‘ultima della switch.

Corsi
Corso LinuxCorso Linux
Guida completa al sistema open-source. A partire da 39 €.
Corso MySQLCorso MySQL
Gestione del database open-source. A partire da 49 €.
Corso PHPCorso PHP
Corso completo per la creazione di siti Web dinamici. A partire da 49 €.
Sommario
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122