Gli Array
Un array è una variabile contenente più valori. In un array ogni valore viene identificato (ed è dunque possibile accedervi e/o modificarlo) per mezzo di un numero d'ordine che ne indica la posizione. Gli array generalmente sono utilizzati per memorizzare variabili dello stesso tipo, o comunque legate da una qualche relazione logica.
La dichiarazione di una variabile di tipo array può avvenire elencando gli elementi contenuti secondo la seguente sintassi:
$varArray = array (elemento1, elemento2, ..., elementoN);
dove $varArray è il nome scelto per la variabile array, mentre elemento1, elemento2, ..., elementoN, sono i valori contenuti nell'array, rispettivamente in posizione 1, 2, …, N. Qualora volessimo inserire variabili di tipo stringa all'interno di un array, faremo uso delle virgolette per delimitare ogni elemento.
Un secondo modo per dichiarare una variabile di tipo array è quello di elencare il valore di ogni elemento come segue:
$varArray[0] = elemento1; $varArray [1] = elemento2; ... $varArray [2] = elementoN;
Il risultato è analogo a quello appena descritto.
Ricordiamo che il primo elemento di un array viene sempre identificato dal numero "0": se ad esempio la lunghezza di un array è "8" , esso numererà gli elementi elementi da 0 a 7.
Per aggiungere elementi ad un array (operazione di append) si fa uso della seguente sintassi:
$varArray[] = elementoN1;
in questo caso elementoN1 verrà accodato all'array in posizione N+1.
L'uso degli array risulta comodo anche in fase di consultazione: se decidiamo di accedere alle variabili contenute in un array, magari per stamparle come nell'esempio precedente, l'operazione può essere svolta utilizzando un'unica istruzione di ciclo (for o while).
Proviamo ora a definire un array, stamparne il contenuto facendo uso di un ciclo for, quindi aggiungere alcuni valori in coda e stamparne ancora una volta il contenuto:
$vv = array ("
" ,"Benvenuti su " , "WebMasterPoint " , "Attendere " , 5, " minuti");
for ($k=0;$k<6;$k++)
echo ($vv[$k]);
$vv[]= " o poco più!";
for ($k=0;$k<7;$k++)
echo ("$vv[$k]");
?>
La pagina HTML risultante visualizzerà le righe:
Benvenuti su WebMasterPoint. Attendere 5 minuti
Benvenuti su WebMasterPoint. Attendere 5 minuti o poco
più!
In PHP oltre agli array scalari, dove gli elementi contenuti sono individuati tramite un numero d'ordine (quelli appena descritti), è anche possibile definire array associativi, dove ogni elemento è individuato da una chiave. In pratica il numero d'ordine viene sostituito da una chiave d'identificazione. Gli array associativi si basano infatti su coppie "nome-elemento" , dove nome è la chiave d'accesso a elemento.
La sintassi per la definizione di un array associativo è analoga a quella descritta per gli aray scalari, con la semplice distinzione che il numero d'ordine è stato sostituito dalla chiave. Quindi:
$varArray = array ( "chiave1" => elemento1; "chiave2" => elemento2; ... "chiaveN" => elementoN; );
dove varArray è il nome della variabile array,
chiave1, chiave2, ..., chiaveN sono le chiavi per accedere
agli elementi elemento1, elemento2, …, elementoN.
Vediamo un esempio:
$website = array( "nome" => "WebMasterPoint" , "URL" => "http://www.webmasterpoint.org" , "email" => "lorenzo.pascucci@webmasterpoint.org" , );
Definirà un array con tre elementi. Il primo elemento,
accessibile tramite la chiave "nome" è di
tipo stringa e contiene il valore "WebMasterPoint".
Il secondo elemento è ancora una stringa, è
accessibile tramite la chiave "URL" e contiene il
valore http://www.webmasterpoint.org. Il terzo ed ultimo
elemento è ancora una stringa contenente il valore
lorenzo.pascucci@webmasterpoint.org.
Una volta definito questo array sarà possibile ad
esempio scrivere:
echo ("Visita il sito $website[nome] a $website[URL]!");
?>
per visualizzare la riga:
Visita il sito WebMasterPoint a http://www.webmasterpoint.org!