corso php enaip - lezione #03 - 24/01/2014

31
SITI WEB DINAMICI CON PHP lezione #03 – 24/01/2014 Matteo Moro - www.MatteoMoro.net

Upload: matteo-moro

Post on 05-Jul-2015

89 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Corso PHP ENAIP - lezione #03 - 24/01/2014

SITI WEB DINAMICICON PHP

lezione #03 – 24/01/2014Matteo Moro - www.MatteoMoro.net

Page 2: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

STRUTTURE DI CONTROLLO

SERVONO A DECIDERE: ­ quante volte eseguire un blocco di codice ­ se eseguire un blocco di codice

STRUTTURE PRINCIPALI: ­ if... then... else... ­ switch... case... ­ for... / foreach... ­ while... do... / do... while... ­ goto... (un brutto ricordo!)

RIFERIMENTI:http://www.php.net/manual/en/language.control­structures.php 

312

Page 3: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

IF... THEN... ELSE...

C = CONDIZIONE = espressione che restituisce un     valore di tipo BOOLEAN

if (C) { /* CODICE */ }else { /* CODICE */ }

RIFERIMENTI:http://www.php.net/manual/en/control­structures.if.php http://www.php.net/manual/en/control­structures.else.php http://www.php.net/manual/en/control­structures.elseif.php http://www.php.net/manual/en/control­structures.alternative­syntax.php 

313

Cvero falso

Page 4: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

SWITCH... CASE... #1

314

EXP==V1v f

EXP==V2v f

EXP==V3v f

Page 5: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

SWITCH... CASE... #2

 ­ diverse condizioni sul valore della stessa   espressione

switch (EXP) {  case V1: /* CODICE */ break;  case V2: /* CODICE */ break;  case V3: /* CODICE */ break;  default: /* CODICE */ break; }

RIFERIMENTI:http://www.php.net/manual/en/control­structures.switch.php 

315

Page 6: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

FOR... #1

316

EXP2

EXP1

v f

EXP3

Page 7: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

FOR... #2

 ­ ripetere l'esecuzione di un blocco di codice   per un certo numero di volte (ciclo infinito?)

 ­ si basa su tre espressioni, che vengono   calcolate o valutate per decidere se ripetere   o uscire dal blocco

for (EXP1;EXP2;EXP3) { /* CODICE */ }

RIFERIMENTI:http://www.php.net/manual/en/control­structures.for.php 

317

Page 8: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

FOREACH...

 ­ particolare ciclo “for...” per iterare sui   valori di un array

 ­ ottenere anche il valore della chiave

foreach ($array as $val) { /* CODICE */ }

foreach ($array as $key => $val) { /* CODICE */ }

RIFERIMENTI:http://www.php.net/manual/en/control­structures.foreach.php 

318

Page 9: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

WHILE... DO... #1

319

EXPv f

Page 10: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

WHILE... DO... #2

3110

 ­ ripetere l'esecuzione di un blocco di codice   fino a quando un'espressione rimane vera

 ­ ciclo infinito?

while (EXP) { /* CODICE */ }

RIFERIMENTI:http://www.php.net/manual/en/control­structures.while.php 

Page 11: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

DO... WHILE...

3111

EXPv f

Page 12: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

DO... WHILE...

3112

 ­ come “while... do...”, ma l'espressione viene   valutata dopo l'esecuzione del blocco di   codice: il blocco di codice viene eseguito   almeno una volta. Ciclo infinito?

do { /* CODICE */ }while (EXP);

RIFERIMENTI:http://www.php.net/manual/en/control­structures.while.php 

Page 13: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

GOTO :-(

 ­ saltare a un punto contrassegnato del codice

 ­ un brutto ricordo del passato

goto a;echo(“UNO”);a:echo(“DUE”);

RIFERIMENTI:http://www.php.net/manual/en/control­structures.goto.php 

3113

Page 14: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

DOMANDE?

3114

Page 15: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

FUNZIONI #1

 ­ strutture che permettono di raggruppare parti di   codice e di eseguirle nel corso del programma

 ­ possono accettare parametri ­ possono restituire un valore

function miafunzione($p1,$p2,...) { /* CODICE */ return EXP; }

RIFERIMENTI:http://www.php.net/manual/en/functions.internal.php http://www.php.net/manual/en/functions.user­defined.php http://www.php.net/manual/en/functions.returning­values.php 

3115

Page 16: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

FUNZIONI #2

 ­ devono essere definite prima di essere usate

 ­ funzioni interne (built­in)   sempre global→

 ­ funzioni definite dall'utente (occhio ai nomi!)

 ­ valore restituito (default=NULL)

 ­ sotto­funzioni

3116

Page 17: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

DOMANDE?

3117

Page 18: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

FUNZIONI PER LE STRINGHE

 ­ str_replace() ­ strpos() ­ strlen() ­ strtoupper() e strtolower() ­ substr()

RIFERIMENTI:http://www.php.net/manual/en/ref.strings.php 

3118

Page 19: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

SOSTITUISCI TESTO

str_replace($find,$replace,$subject);

 ­ sostituisce $find con $replace all'interno di   $subject e restituisce la stringa modificata

 ­ ricerca case­sensitive

RIFERIMENTI:http://www.php.net/manual/en/function.str­replace.php 

3119

Page 20: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

TROVA TESTO

strpos($testo,$trova);

 ­ cerca $trova in $testo, restituisce la posizione   della prima occorrenza

 ­ se non trova nulla, restituisce FALSE

 ­ ricerca case­sensitive partendo da sinistra

RIFERIMENTI:http://www.php.net/manual/en/function.strpos.php 

3120

Page 21: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

LUNGHEZZA DI UNA STRINGA

strlen($stringa);

 ­ restituisce la lunghezza di $stringa

RIFERIMENTI:http://www.php.net/manual/en/function.strlen.php 

3121

Page 22: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

MAIUSCOLE E MINUSCOLE

strtoupper($stringa);strtolower($stringa);

 ­ converte i caratteri alfanumerici in maiuscolo   (o minuscolo), restituisce la stringa modificata

RIFERIMENTI:http://www.php.net/manual/en/function.strtoupper.php http://www.php.net/manual/en/function.strtolower.php 

3122

Page 23: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

ESTRAI PARTE DI UNA STRINGA

substr($stringa,$inizio,$lunghezza);

 ­ estrae una parte di $stringa, partendo dalla   posizione $inizio e per un numero di caratteri   pari a $lunghezza. Restituisce la parte di   stringa estratta.

 ­ $inizio>strlen($stringa)   FALSE→ ­ $inizio+$lunghezza>strlen($stringa)   PARTE→

RIFERIMENTI:http://www.php.net/manual/en/function.substr.php 

3123

Page 24: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

DOMANDE?

3124

Page 25: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

FUNZIONI PER GLI ARRAY

 ­ sizeof() ­ array_keys() ­ sort() ­ array_search()

RIFERIMENTI:http://www.php.net/manual/en/book.array.php 

3125

Page 26: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

DIMENSIONE DI UN ARRAY

count($array);

 ­ conta gli elementi di un array, restituisce   il numero di elementi

RIFERIMENTI:http://www.php.net/manual/en/function.count.php 

3126

Page 27: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

CHIAVI DI UN ARRAY

array_keys($array);

 ­ estrae le chiavi di un array, restituisce un   array a chiave numerica contenente le chiavi   trovate

RIFERIMENTI:http://www.php.net/manual/en/function.array­keys.php 

3127

Page 28: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

ORDINAMENTO DI UN ARRAY

sort($array);

 ­ riordina gli elementi di $array, modificando   l'array passato come parametro. Restituisce   TRUE o FALSE a seconda che l'operazione abbia   avuto o meno successo

RIFERIMENTI:http://www.php.net/manual/en/function.sort.php 

3128

Page 29: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

RICERCA IN UN ARRAY

array_search($trova,$array);

 ­ cerca il valore $trova in $array. Se lo trova,   restituisce la chiave del primo risultato,    altrimenti restituisce FALSE

RIFERIMENTI:http://www.php.net/manual/en/function.array­search.php 

3129

Page 30: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

DOMANDE?

3130

Page 31: Corso PHP ENAIP - lezione #03 - 24/01/2014

lezione #03 – 24/01/2014

Matteo Moro - www.MatteoMoro.netsiti web dinamici con php

ALLA PROSSIMA LEZIONE!

3131

28gen