Corso PHP base

Gestione del flusso di un programma in PHP


videocorso php e mysql

I linguaggi di programmazione (e quindi anche PHP) offrono dei comandi che permettono di controllare il flusso, facendo eseguire piu' volte la stessa sequenza di azioni un determinato numero di volte, oppure in base a determinate condizioni.

Qui vedremo le strutture di controllo del flusso piu' importanti che si possono usare in php: IF, FOR e WHILE.

N.B.: questi concetti sono comuni a TUTTI i linguaggi, di qualsiasi tipo, infatti non verranno spiegati in maniera dettagliata, in quanto presumo che un'infarinatura di programmazione dovreste gia' averla.

IF
Dall'inglese, if vuol dire 'SE'. Capita infatti durante la stesura di un programma di dire: 'in questo punto se le cose stanno cosi' fai questo altrimenti fai quest'altro'. If serve a questo e' la sintassi e':

if (condizioni) (azione) else (azione)

Le condizioni sono dei controlli che possiamo fare con delle variabili, del tipo:

  • $x uguale a $y
  • $z minore di 5
  • $k maggiore/uguale di $q*5

che diventano:

  • ($x==$y)
  • ($z<5)
  • ($k>=$q*5)

Ecco la lista completa degli operatori di controllo:

  • == uguale a
  • != diverso da
  • > maggiore di
  • < minore di
  • >= maggire/uguale di
  • <= minore/uguale di

La condizione dev'essere compresa tra delle parentesi. Ogni singola condizione restituisce un valore true (vero) o false (falso). Se e' vera viene eseguita l'azione indicata. E' possibile inserire controlli piu' complessi tipo: 'se $a e' uguale a $b e $c e' diverso da 8', che diventa

(($a==$b)&&($c!=8))

&& coincide con la congiunzione 'e', e' in pratica un 'operatore logico', cioe' vuol dire che restituisce un valore vero o falso a seconda dei valori delle condizioni. Guardiamo questa tabella:

condizione 1 operatore condizione 2 risultato
f && f f
v && f f
f && v f
v && v v

Questa e' la tabella delle verita' dell'operatore && (and). Esso restituisce vero solo se le due condizioni sono entrambe vere.

Esiste anche l'operatore 'or': ||

condizione 1 operatore condizione 2 risultato
f || f f
v || f v
f || v v
v || v v

In italiano questa condizione e' tradotta con "oppure". Infatti restituisce vero se la condizione1 e' vera OPPURE se la condizione2 e' vera, cioe' ne basta una vera.

L'ultimo operatore e' !, cioe' not (in italiano sarebbe + o - 'non'). Questo operatore e' a un operando solo:

condizione risultato
! (f) v
! (v) f

Facile no? il contrario di falso e' vero, il contrario di vero e' falso.

Vediamo un po' di esempi contreti per riassumere tutto cio':

  • (($a==1)!!($b>$a)) se $a e' uguale 1 OPPURE $b e' maggiore di $a
  • !($a!=$c*9) se NON e' vero che $a e' diverso da $c*9
  • ($a==$c*9) ha lo stesso significato di quella sopra: se $a e' uguale a $c*9
  • (($c!=$d)!!(($a/$b==1)&&($h==0))) se $c e' diverso da $d OPPURE se $a/$b e' 1 E $h e' zero. Notate come le parentesi servono per dare la priorita' alle operazioni che ci interessano ,in questo caso all' && prima.

    La "Azione" nel nostro if puo' essere una sola istruzione seguita dal solito punto e virgola o un gruppo di istruzioni delimitato dalle grafe.

    'else' vuol dire 'altrimenti'. Le azioni indicate dopo else sono quelle che verranno eseguite se la condizione chiesta non si e' verificata. L'else e' una clausola facoltativa.

    FOR

    In inglese FOR vuoil dire 'per'. Non ha molto senso cmq tradurlo. Il comando for fa eseguire un blocco dioperazione per un numero di volte, a seconda di cosa gli abbiamo detto, vediamola sintassi:

    for (inizializazzione; condizione; avanzamento) (istruzioni)

    • inizializzazione e' un comando (di solito un'assegnazione) che viene eseguita la prima volta
    • condizione e' la condizione per la quale viene eseguito il blocco, finche' e' vera viene esguito.
    • avanzamento e' l'operazione di avanzamento del ciclo, di solito modifca la variabile che era stata inizializzata prima facendola incrementare o decrementar

    Esempi:

    Srive 10 volte ciao. Infatti all'inizio viene impostata $k a 1, e poi il ciclo comincia, esso continua finche' $k e' minore di 11. viene scritto ciao, quindi $k aumenta di 1. si va avanti cosi' finche' $k arriva a 12, e quindi il for si conclude.

    WHILE

    In italiano si traduce: "mentre", la sua sintassi

    while (condizione) (azioni)

    cioe' qualcosa del tipo: "continua a eseguire le azioni fintanto che la condizione e' VERA".

    Vediamo un esempio per capire meglio di cosa parliamo...

    Con questo chiudo la lezione, ho tentato di spiegare "alla buona" questi concetti, per chi ne era completamente a digiuno... sono conoscenze di base per saper programmare bene in qualsiasi linguaggio, quindi assicuratevi di conoscerli a dovere. Byez!


Indice Corso PHP