Laboratorio Progettazione Web Il linguaggio PHP Array. Andrea Marchetti IIT-CNR AA 2017/2018

Documenti analoghi
Laboratorio Progettazione Web Il linguaggio PHP Array. Andrea Marchetti IIT-CNR AA 2016/2017

Laboratorio Progettazione Web Il linguaggio PHP Array. Andrea Marchetti IIT-CNR AA 2015/2016

Laboratorio Progettazione Web Il linguaggio PHP Array. Andrea Marchetti IIT-CNR AA 2014/2015

Laboratorio Progettazione Web Array in PHP. Andrea Marchetti IIT-CNR 2013/2014

Laboratorio Progettazione Web Il linguaggio PHP - Introduzione. Andrea Marchetti CNR/IIT AA 2015/2016

Laboratorio Progettazione Web Array in PHP Lezione 7. Andrea Marchetti IIT-CNR 2011/2012

Array. Array Numerici. Creazione. Gli array possono contenere tipi diversi di dati. Accesso. In [ ]: // array vuoto $shoppinglist = array(); In [ ]:

Laboratorio Progettazione Web Il linguaggio PHP Introduzione. Andrea Marchetti IIT-CNR AA 2014/2015

Laboratorio Progettazione Web Il linguaggio PHP Lezione 5. Andrea Marchetti IIT-CNR 2011/2012

Laboratorio Progettazione Web Il linguaggio PHP - Introduzione. Andrea Marchetti IIT-CNR AA 2013/2014

Laboratorio Progettazione Web PHP e FORMs HTML - Lezione 8. Andrea Marchetti IIT-CNR 2011/2012

Mantenimento dello stato

Array, Funzioni e interazione con l utente

Array. // utente pippo $utente1 = array( username => pippo, password => pippo123, ruolo => amministratore );

Il linguaggio PHP. Elementi base

PHP funzioni. Prof. Francesco Accarino

2011 Politecnico di Torino 1

Programmazione Web D B M G. Il linguaggio PHP

Il linguaggio PHP. Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati

Mantenimento dello stato

Guida introduttiva al PHP

JavaScript JavaScript Programmazione lato client JScript JavaScript ECMAScript

PHP: Array. Array = variabile che contiene un insieme (ordinato) di elementi. $strumenti. Elemento: scalare (semplice) o un altro array.

Programmazione lato client. JavaScript. Applicazioni di Rete M. Ribaudo - DISI. JavaScript

Il linguaggio PHP. Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati

Corso di PHP. Prerequisiti. 4.2 Array associativi. Variabili semplici e strutturate Concetto di array Strutture di controllo

Laboratorio Progettazione Web Modello di applicazione Web

Esercitazione Highcharts

Laboratorio Progettazione Web Modello di applicazione Web

Installazione di EasyPhp. Avviare EasyPhp. La finestra di amministrazione di EasyPhp

La connessione ai database MySQL tramite script PHP versione 5.5

Corso di PHP. Prerequisiti. 6.2 PHP e il web 2. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

Tecnologie e applicazioni web JSON Web Token (JWT)

AJAX. Riccardo Rosati

Laboratorio Progettazione Web Le funzioni in PHP. Angelica Lo Duca IIT-CNR 2012/2013

Laboratorio Progettazione Web Il linguaggio PHP le istruzioni. Andrea Marchetti IIT-CNR 2013/2014

BASI LINGUAGGIO. Programmazione Web 1

AJAX. Riccardo Rosati

Laboratorio di Basi di Dati

Array, Funzioni e interazione con l utente

Corso di PHP. Prerequisiti. 4.1 Array sequenziali. Variabili semplici Operazioni su variabili Strutture di controllo

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007

Esercizi su JavaScript, DOM e Web Storage

PHP 4. Conservazione dello stato

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2016/2017

Concetti base programmazione. Antonio Gallo

stringa $valore = "cavallo"; $valore = 'struzzo'; $valore = 'x'; // il tipo carattere è un caso particolare di stringa

Dichiarazione di variabili

Laboratorio di Progettazione Web

Argomenti. Array. Stringhe. Merge sort

Laboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014

PHP ESSENTIALS #7. By WI400 Team. : array, sessioni

Javascript: il browser

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2016/2017

Laboratorio Progettazione Web Le funzioni in PHP. Andrea Marchetti IIT-CNR 2016/2017

Modulo o Form in Html

Problema: calcolare il massimo tra K numeri

Javascript: il browser

HIGHCHARTS. Federico Martinelli

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2014/2015

Esempio su strutture dati dinamiche: ArrayList

Fondamenti Teorici e Programmazione

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Laboratorio - Programmazione

Creare l array presentato nei lucidi ([pippo, pluto, etc])

Corso di PHP. Prerequisiti. 2.1 Variabili. Conoscenza HTML Tecnica della programmazione Principi di programmazione web. M. Malatesta 2.

2011 Politecnico di Torino 1

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

1. (6 punti) Spiegare il significato, in modo dettagliato, del pezzo di codice seguente di una servlet:

Laboratorio di Progettazione Web

JavaScript. Caratteristiche del JavaScript. Javascript consente di rendere dinamiche le pagine HTML

Liste. Una lista è una serie ordinata di valori, ognuno identificato da un indice. I valori che fanno parte della lista sono chiamati elementi.

file:///c:/users/andrea/appdata/local/temp/mysql-1.html

Fondamenti di informatica T-1 (A K) Esercitazione 9: array

Tipi di dato strutturati: Array

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

A livello fisico, un istanza di base di dati Oracle è composta. Gubiani & Montanari Oracle Database 3

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014

Corso di PHP. Prerequisiti. 3 - Le strutture di controllo. Istruzioni semplici Controllo del flusso di programma

CORSO PROFESSIONALE PROGRAMMATORE PHP

Introduzione alla programmazione nella shell di Unix 10 Maggio 2005

Array. Walter Didimo

Esercizi su array di array

CORSO PROFESSIONALE PROGRAMMATORE PHP

POLITECNICO DI TORINO. Laboratorio di Compilatori Corso di Linguaggi e Traduttori. Esercitazione 5. a.a 2010 / Controllo dei tipi

Gli Array (2) Gli Array. Gli Array (4) Gli Array (3)

Laboratorio Progettazione Web Modello di applicazione Web

Il linguaggio C. Puntatori e dintorni

HTML Interazione con l utente

Laurea Specialistica - Media Education. Dr. Annamaria Bria 1

Introduzione Dal problema al programma Architettura del calcolatore Le reti ed internet Rappresentazione dell informazione Elementi di programmazione

Events: Track your favorite artists

Transcript:

Laboratorio Progettazione Web Il linguaggio PHP Array Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.it AA 2017/2018

Overview Introduzione sugli array Array Numerici Array Associativi Array Multidimensionali Funzioni per manipolare gli array Array predefiniti $_GET, $_POST

Array Un array è una variabile per memorizzare una lista di cose come nomi o numeri tra di loro attinenti Il PHP ha una gestione molto efficiente degli array

Esempio Esempio di una lista di cose che voglio trattare nello stesso modo ad esempio voglio visualizzarli in una tabella

Uso le normali variabili $shoppinglist1="cheese"; $shoppinglist2="milk"; $shoppinglist3="bread"; $shoppinglist4="apples"; $shoppinglist5="bananas"; $shoppinglist6="eggs";

Visualizzazione in HTML print("<table>"); print("<tr><td>$shoppinglist1</td></tr>"; print("<tr><td>$shoppinglist2</td></tr>"; print("<tr><td>$shoppinglist3</td></tr>"; print("<tr><td>$shoppinglist4</td></tr>"; print("<tr><td>$shoppinglist5</td></tr>"; print("<tr><td>$shoppinglist6</td></tr>"; print("</table>");

Array PHP $shoppinglist[0]="cheese"; $shoppinglist[1]="milk"; $shoppinglist[2]="bread"; $shoppinglist[3]="apples"; $shoppinglist[4]="bananas"; $shoppinglist[5]="eggs";

Visualizzazione in HTML print("<table>"); for($i=0; $i<sizeof($shoppinglist); $i++) print("<tr><td>$shoppinglist[$i]</td></tr>"); print("</table>");

Operazioni su array 1. Creazione 2. Accesso in lettura e scrittura agli elementi 3. Aggiunta di nuovi elementi 4. Cancellazione di elementi

Array in javascript Creazione var cars = ["Saab", "Volvo", "BMW"]; var cars = []; // array vuoto var cars = new Array("Saab", "Volvo", "BMW"); Accesso var name = cars[0]; Aggiunta cars.push("fca"); // aggiunge in fondo cars[4]="fca"; // cars[3] non è definito Cancellazione cars.delete(2) cars.pop() // cancella il terzo elemento // elimina l'ultimo elemento

Array in PHP In PHP esistono 3 tipi di Array Numerici Associativi Multidimensionali (array che contengono array)

Numerici Vs Associativi Numerici Associativi 1 Roma 2 Parigi 3 Madrid 4 Londra 5 Berlino 6 Amsterdam Italia Francia Spagna UK Germania Olanda Roma Parigi Madrid Londra Berlino Amsterdam Invece di un numero associo un etichetta ai valori memorizzati.

Array Numerici Gli array numerici memorizzano ogni elemento usando un indice numerico che inizia da 0 che non va dichiarato

Array Numerici Creazione ** // Usando la funzione array() o [] $shoppinglist = array(); // vuoto $shoppinglist = []; // vuoto $shoppinglist = array("cheese","milk","bread"); // con elementi $shoppinglist = ["Cheese","Milk","Bread"]; // con elementi // Inserendo i valori ad uno ad uno specificando l'indice $shoppinglist[0]= "Cheese"; $shoppinglist[1]= "Milk"; $shoppinglist[2]= "Bread"; // Inserendo i valori ad uno ad uno omettendo l'indice $shoppinglist[]= "Milk"; // $shoppinglist[0]= "Milk"; $shoppinglist[]= "Cheese"; // $shoppinglist[1]= "Cheese"; $shoppinglist[]= "Bread"; // $shoppinglist[2]= "Bread";

Nota sugli Array in Php ** A differenza di altri linguaggi di programmazione in PHP gli elementi di un array possono essere di tipo diverso $lista = array(10,10.5,"ciao",true); Per visualizzare un array utilizzare print_r($albergo); Array ( [0] => Hotel Roma [1] => 56124 [2] => Pisa ) var_dump($albergo); array(3) { [0]=> string(10) "Hotel Roma" [1]=> int(56124) [2]=> string(4) "Pisa" }

Array Numerici Accesso** $shoppinglist = array("cheese","milk","bread",); print("don't miss $shoppinglist[0]");

Array Numerici Accesso ciclico ** for con la funzione count() o sizeof() for($i=0; $i<sizeof($shoppinglist); $i++) print("- $shoppinglist[$i]"); foreach as foreach ($shoppinglist as $item) print("- $item"); nome dell'array Variabile dove il processore PHP ad ogni iterazione inserisce un elemento dell'array

Array Numerici Aggiunta** Specificando l'indice $shoppinglist[10]="wine"; print_r($shoppinglist); Senza specificare l'indice: inserimento in fondo $shoppinglist[]="wine"; print_r($shoppinglist);

Array Numerici Cancellazione** unset($shoppinglist[1]; print_r($shoppinglist);

Esercizio ** Scrivere un programma php che stampa gli elementi della mia lista di spesa che hanno un nome lungo 4; $shoppinglist = array("cheese","milk","bread", "Apples","Bananas","Eggs"); strlen(); //funzione che calcola la lunghezza di una stringa

Soluzione $shoppinglist = array ("Cheese","Milk","Bread", "Apples","Bananas","Eggs"); foreach ($shoppinglist as $item) if(strlen($item)==4) print("$item\n");

Array Associativi Ci sono dei casi in cui conviene utilizzare delle etichette per associare gli elementi di un array print(capitale["italia"]); // stampa Roma Consideriamo il caso dell'associazione Calcio Milan

Array Associativi nome A. C. Milan nickname Diavolo fondazione 16-12-1899 stadio San Siro capacità 80018

Array Associativi Creazione => $milan = array( "nome" =>"Milan", "stadio" =>"Meazza", "capacità"=>80018 ); Key associato Value

Array Associativi Creazione ** $milan = array("nome"=>"milan","stadio"=>"meazza","capac ità"=>80018); $milan = ["nome"=>"milan","stadio"=>"meazza","capacità"= >80018]; // oppure $milan = array(); // opzionale $milan["nome" ]="Milan"; $milan["stadio" ]="Meazza"; $milan["capacità"]=80018;

Array Associativi Accesso ** Per accedere ai singoli elementi si usa Il nome dell'array La chiave (etichetta) dell'elemento // nome array["etichetta"] print($milan["nome"]." gioca ".$milan["stadio"]." con capienza di ".$milan["capacità"]);

Array Associativi Accesso ciclico ** Costrutto foreach as foreach ($milan as $key => $value) print("$key=$value\n"); nome dell'array Variabile $key dove il parser PHP ad ogni ciclo inserisce la chiave di un elemento dell array Variabile $value dove il parser PHP ad ogni ciclo inserisce il valore di un elemento dell array

Array Numerici Accesso ciclico** foreach ($shoppinglist as $index => $value) print("$index=$value\n"); Il PHP internamente non distingue tra array numerici e associativi

Array Associativi Aggiunta ** $milan=[ "nome" =>"Milan", "stadio" =>"Meazza", "capacità"=>80018 ]; $milan["città"]="milano";

Array Associativi Cancellazione** $milan=[ "nome" =>"Milan", "stadio" =>"Meazza", "capacità"=>80018 ]; unset($milan["stadio"]);

Array Multidimensionali Un elemento di un array può contenere a sua volta un array array di array Per gli array 2D posso combinare i tipi numerici e associativi array numerico di array numerici array numerico di array associativi array associativo di array numerici array associativo di array associativi

Creazione Array 2D // array associativo di array associativi $squadre = array( "Milan" => array( "nome"=>"milan", "città"=>"milano"), "Inter" => array( "nome"=>"inter", "città"=>"milano"), "Juve" => array( "nome"=>"juventus", "città"=>"torino")); // array numerico di array associativi $musei = array( array( "nome"=>"metropolitan", "città"=>"new York"), array( "nome"=>"uffizi", "città"=>"firenze" ), array( "nome"=>"louvre", "città"=>"parigi" ) ); // array numerico di array numerici $tabellapitagorica = array( array( 1, 2, 3, 4, 5, 6, 7, 8, 9,10), array( 2, 4, 6, 8,10,12,14,16,18,20), array( 3, 6, 9,12,15,18,21,24,27,30) );

Accesso Array 2D print($squadre["milan"]["nome"]); print($musei[1]["nome"]); print($tabellapitagorica[1][2]); // 2x3=6 // accesso a tutti gli elementi foreach($squadre as $nome=>$squadra){ print("***$nome***</br>"); foreach($squadra as $key=>$value){ print("$key=$value</br>"); } }

Aggiunta Array 2D $squadre["milan"]["stadio"]="meazza"; $squadre["atalanta"]= array("nome"=>"atalanta","città"=>"bergamo"); print_r($squadre); $musei[]= array("nome"=>"british","città"=>"londra"); print_r($musei); $tabellapitagorica[6] = array(6,12,18,24,30,36,42,48,54,60); print_r($tabellapitagorica);

Funzioni per manipolare gli Array http://php.net/manual/en/ref.array.php count() // dimensione sizeof() // dimensione is_array()// controlla se la variabile è un array shuffle() // riordina in modo casuale un array sort() // riordina un array numerico asort() // riordina un array associativo explode() // converte una stringa in array extract() // per ogni coppia chiave/valore crea una variabile con nome=chiave e valore associato unset() // rimuove gli elementi di un array

Variabili predefinite Fornite direttamente dall'interprete PHP Contengono informazioni sull'ambiente di esecuzione del programma Variabilepredefinite $GLOBALS $_SERVER $_GET $_POST $_FILES $_COOKIE $_REQUEST $_ENV Descrizione Tutte le variabili che sono correntemente definite nel programma Create dal server web, danno informazioni sull ambiente di esecuzione del programma Variabili passate al programma tramite il metodo HTTP GET Variabili passate al programma tramite il metodo HTTP POST Oggetti passati al programma tramite il metodo HTTP POST Variabili passate al programma tramite HTTP cookies $_GET, $_POST, $_COOKIE Variabili passate al programma tramite metodi di ambiente

$_GET, $_POST Le variabili predefinite $_GET e $_POST sono due array associativi creati dal processore PHP per contenere i parametri (nome, valore) rispettivamente di una GET e di una POST

Passaggio di parametri con la richiesta URL http://localhost/lpw.php?reg=toscana&pro=pisa lpw.php Browser Web Pisa è nella regione Toscana lpw.php reg=toscana pro=pisa <?php $regione = $_GET['reg']; $provincia = $_GET['pro']; print("$provincia è nella regione $regione");?> reg=toscana&pro=pisa è detta QueryString

Gestione dei parametri inviati tramite query string (metodo get) Come gestire la situazione in cui i parametri sulla stringa url possano esserci o meno? Supponiamo che si attenda il parametro anno if(isset($_get["anno"])) $anno= $_GET["anno"]; else $anno= 2017; //valore di default Soluzione alternativa basata sulla funzione extract $anno = 2017; // imposto subito il valore di default extract($_get); // estraggo tutti i parametri eventualmente sovrascrivo

Gestione dei parametri inviati tramite query string (metodo get) <?php // Imposto i valori di default dei parametri attesi $anno = "0000"; $tipo = "alberghi"; $area = "Lombardia"; $numero = "0"; // Recupero i parametri passati sulla Querystring extract($_get); // Utilizzo i parametri print("nel $anno il numero di $tipo, dislocate in $area sarà di $numero unità");?>

Esercizio Data una URL con una query string dove si passa un parametro una parola http://localhost/cont.php?word=pip po Scrivere lo script php cont.php che letto il parametro restituisce in html la parola con la sua lunghezza Browser Web Pippo è lungo 5

Esercizio Data una URL con una query string dove si passano due parametri una parola un colore http://localhost/colora.php?word=pi ppo&col=red Scrivere lo script php colora.php che letti i due parametri restituisce una pagina html contenente la parola nel colore indicato Browser Web Pippo

Una possibile soluzione <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>colored Word</title> </head> <body> <?php $color=$_get['color']; $word =$_GET['word']; echo "<p style='color:$color'>$word</p>";?> </body> </html>

Esercizio Creare uno script PHP per fare domande di geografia sulle capitali europee Il programma php sarà invocato con la seguente URL http://localhost/capitale.php?paese=italia

Soluzione <?php // Lettura parametro $paese = isset($_get['paese'])? $_GET['paese']:"Italia"; // Tabella delle capitali $capitali=array("italia"=>"roma","francia"=>"parigi","spagna"=>"madrid"); $capitale = isset($capitali[$paese])? $capitali[$paese]:"non la conosco"; print("la capitale della nazione $paese: $capitale");?>

Riferimenti https://www.cloudways.com/blog/fundament als-of-php-arrays/