Array e PHP – Teoria ed Esempi

Obiettivo del tutorial: Familiarizzare con gli array. Vedremo la teoria necessaria e tanti esempi per utilizzare immediatamente questa struttura dati nel linguaggio PHP.

Cos’è un array?

Un array è una variabile “complessa”. Come in molti altri linguaggi in un array in php le informazioni sono immagazzinate nella forma Chiave -> Valore.

Il tipo array in php è ottimizzato in diversi modi, si può utilizzare come un lista (o vettore) o come tabella hash, cioè una tabella associativa dove i dati sono immagazzinati secondo coppie chiave -> valore.

Vediamo subito qualche esempio semplice:

$colori = array('bianco'
, 'viola' 	
, 'giallo'
, 'verde'
, 'blu'
, 'rosso');

Sopra abbiamo definito l’array “$colori”. Utilizzando questo metodo di definizione dell’array abbiamo sfruttato una ottimizzazione del php. Il php automaticamente associa un indice ad ogni valore in modo progressivo.

E’ come se avessimo scritto:

$colori[0]='bianco';
$colori[1]='viola';
$colori[2]='giallo';
$colori[3]='verde';
$colori[4]='blu';
$colori[5]='rosso';

Da notare che l’indice assegnato di default al primo elemento dell’array è l’indice 0.

Tuttavia è possibile far partire la numerazione dal valore di indice che si vuole nel seguente modo:

$colori = array(1 => 'bianco'
, 'viola'
, 'giallo'
, 'verde'
, 'blu'
, 'rosso');

Ricapitolando abbiamo visto due modi per definire un vettore in php e come modificare il valore di partenza dell’indice.

Ma se vogliamo aggiungere altri elementi ad un vettore già definito ?

Per aggiungere un elemento in coda ad un vettore esistente si usa la seguenti sintassi:

$colori[] = 'fucsia';

Per inserire un valore ad un indice ben preciso si può usare la seguente sintassi:

$colori[] = 'fucsia';
$colori[4] = 'celestino';
$colori[1] = 'nero';

Nel primo caso l’elemento è inserito in ultima posizione. I vecchi elementi presenti a quegli indici verranno sostituiti con i nuovi.

Per visualizzare gli elementi dell’array si può utilizzare la seguente sintassi, un’istruzione di visualizzazione più l’eleento da visualizzare:

print $colori[0]";
print $colori[1];

Per contare gli elementi di un’array si può utilizzare la funzione count:

$numero_elementi = count($colori);

E’ possibile concellare elementi dall’array:

unset($colori[3]); //elimina l'elemento 'verde'
unset($colori);    //elimina l'intero array $colori

La forma più generale di array è quella che utilizza la coppia chiave => valore. Vediamo la sintassi di definizione:

$a = array(  
 ’color’ => ’red’
, ’taste’ => ’sweet’
, ’shape’ => ’round’
, ’name’ => ’apple’
, 4 // in questo caso la chiave sarà 0
);

// è completamente equivalente a:

$a[’color’] = ’red’;
$a[’taste’] = ’sweet’;
$a[’shape’] = ’round’;
$a[’name’] = ’apple’;
$a[] = 4; // in questo caso la chiave sarà 0

Da notare come la forma vista nel primo esempio sia una facilitazione che il php offre della forma più generale che è quella vista nell’ultimo esempio.

Il primo esempio si sarebbe potuto definire, senza usare le semplificazioni del linguaggio, anche in questo modo:

$colori = array( 0 =>'bianco'
,1 =>'viola' 
,2 =>'giallo'
,3 =>'verde'
,4 =>'blu'
,5 =>'rosso');

Il tutorial è lontano dall’essere esaustivo, si sono presentate un pò di tecniche per avere un idea di come lavorare con gli array. Non mancherò di inserire riferimenti ad altri tutorial di webspazio in cui si usano altre tecniche.