Fondamenti di programmazione

Corso php a cura del prof. Pietro De Paolis

Istruzioni di scelta

Le istruzioni di scelta sono le più potenti di qualunque linguaggio di programmazione; esse consentono di eseguire altre operazioni quando si verificano certe condizioni che abbiamo previsto. Nel programma dello stipendio stipendio3.php che abbiamo studiato nella precedente lezione abbiamo visto come l'utente indicava gli anni di servizio prestati, in quanto lo stipendio cambia proprio in base agli anni di servizio. Ci serve ora una istruzione if.

Istruzione if

La istruzione if ha una scrittura del genere:

 if (  espressione di controllo )    comando da eseguire  ;

cioè scriviamo prima if ed apriamo e chiudiamo le parentesi tonde; all'interno delle parentesi scriviamo il controllo che deve fare il programma mediante un confronto, che può essere tra due variabili o combinazione di più condizioni; per vedere se due variabili sono uguali scriviamo:

if ($variabile1 == $variabile 2)     istruzione;

notiamo il doppio eguale, per distinguerlo da quando mettiamo in $variabile1 il valore di $variabile2;

oppure:

($variabile1 != $variabile2 ) se il contenuto delle due variabili è diverso;

oppure:

($variabile1 > $variabile2 ) se il contenuto della prima è maggiore della seconda;

oppure:

($variabile1 < $variabile2 ) se il contenuto della prima è minore della seconda;

Dopo il confronto occorre scrivere una istruzione che verrà eseguita se la condizione si è verificata; altrimenti non verrà eseguita:

Esempio

if ($variabile1 == $variabile 2)   print ("Il contenuto di variabile1: $variabile1 è uguale a quello di variabile2: $variabile2");

La scrittura della frase contenuta nella print verrà eseguita solo se il contenuto delle due variabili è uguale.

Se vi sono più istruzioni da eseguire, quando la condizione è vera, esse si scrivono ciascuna su un rigo a parte, ma racchiudendole tutte insieme tra due parentesi graffe:

Esempio

if ($variabile1 == $variabile 2) 

                                                print ("Il contenuto di variabile1 è: $variabile1");

                                                print("Il contenuto di variabile2 è: $variabile2");

                                                print ("Le due variabili sono uguali");

                                                };

notiamo tre istruzioni print all'interno delle parentesi graffe; scriviamo ciascuna istruzione su un rigo diverso, facendola terminare con il punto e virgola; alla fine mettiamo la parentesi graffa con il punto e virgola. Se le due variabili sono uguali vengono eseguite le tre print; altrimenti non viene eseguita nessuna.

La parentesi graffa aperta { la facciamo con Alt 123; quella chiusa } la facciamo con Alt 125.

Per chi non fosse pratico del tastierino numerico che si trova a destra sulla tastiera, ricordiamo che tutti i simboli si posso fare con il tastierino numerico; cioè vediamo prima se sia acceso guardando il LED "Num Lock"; se non è acceso lo accendiamo premendo il primo tasto a sinistra del tastierino, cioè "Bloc num"; poi con la mano sinistra premiamo e teniamo premuto il tasto "Alt" che si trova nella tastiera principale a sinistra dello spazio, e contemporaneamente con la mano destra scriviamo il numero 123 sul tastierino numerico; se ora lasciamo il tasto "Alt", che tenevamo premuto con la sinistra, ci appare la {. Gli altri caratteri speciali li possiamo ottenere come nella tabella del Codice ASCII.

Scriviamo ora il secondo modulo del calcolo dello stipendio, cioè scegliamo in base alla tabella:

anni di servizio Docente laureato istituti sec. II° 
da 0 a 2
 19082.50
da 3 a 8
 20163.59
da 9 a 14
 21893.39
da 15 a 20
 24027.25
da 21 a 27
 26745.11
da 28 a 34
 28525.83
da 35 a
 29945.29

se gli anni di servizio sono da 0 a 2, vuol dire che lo stipendio sarà di € 19082,50; ecc.

Per cui il listato di programma4.php può essere il seguente:

<html>

<body background="sfondo2.jpg">

<?php

print ("Programma per calcolare lo stipendio annuo lordo.<br><br>");

$anniservizio = $_GET['anniservizio'];

if ($anniservizio == 1) print ("Lo stipendio annuo lordo è € 19.082,50 <br>");

if ($anniservizio == 2) print ("Lo stipendio annuo lordo è € 20.163,59 <br>");

if ($anniservizio == 3) print ("Lo stipendio annuo lordo è € 21.893,39 <br>");

if ($anniservizio == 4) print ("Lo stipendio annuo lordo è € 24.027,25 <br>");

if ($anniservizio == 5) print ("Lo stipendio annuo lordo è € 26.745,11 <br>");

if ($anniservizio == 6) print ("Lo stipendio annuo lordo è € 28.525,83 <br>");

if ($anniservizio == 7) print ("Lo stipendio annuo lordo è € 29.945,29 <br>");

if ($anniservizio == 0) print ("Non hai indicato gli anni di servizio. Torna indietro! <br>");

?>

<body>

</html>

 

Salviamolo come stipendio4.php ed eseguiamo stipendio3.php.

Dovremmo vedere:

Avvertenze

Innanzitutto è bene provarle tutte le condizioni previste da programma3.php in modo da evitare delle sorprese. 

Le varie if possono essere annidate, cioè se metto nelle parentesi graffe una seconda if anche essa viene eseguita correttamente, ma solo se è vera la condizione della prima if.

Esempio

Verificare se un numero sia maggiore di 100 e se sia uguale proprio a 1000.

Scrivo:

if ($numero1>100)  {

                            print ("Il numero è maggiore di 100");

                            if ($numero1==1000) print ("Il numero è uguale a 1000");

                                                  }

Operatori logici AND ed OR

L'operatore logico AND (e) risulta vero quando sono verificate contemporaneamente tutte le condizioni; il simbolo è &&.

Esempio

if (($numero1>100)&&($numero1==1000)) print ("Il numero è maggiore di 100 ed è proprio 1000");

la frase della print verrà scritta se sono verificate le due condizioni contemporaneamente.

L'operatore logico OR (oppure) risulta vero quando sono verificate una qualunque delle condizioni poste; il simbolo è ||   ("Alt" seguito da 124).

Esempio

if (($numero1<100)||($numero1==1000)) print ("Il numero è minore di 100 oppure è proprio 1000");

la frase della print verrà scritta sia se il numero è minore di 100 e sia se il numero è proprio 1000.

 

Corso di programmazione in PHP

Dizionario php

 

prof. Pietro De Paolis

Indice Scuola Elettrica - generico


Scuola Elettrica



 

Altre applicazioni


Mappa per tipo di scuola

 

Indice di tutte le pagine del sito


Guida per navigare


Richiesta informazioni


Scuola Elettrica