Array
Il PHP supporta sia gli array scalari sia gli array associativi. In PHP, un array di valori può essere esplicitamente creato definendone gli elementi oppure la sua creazione può avvenire inserendo valori all'interno dell'array, ad esempio:
$a = array ("abc", "def", "ghi");
crea l'array definendo esplicitamente gli elementi dell'array, al contrario dell'esempio che segue:
$a[0] = "abc";
$a[1] = "def";
$a[2] = "ghi";
In questo caso, l'array viene creato con tre elementi; ricordiamo che il primo elemento di un array viene identificato dal numero "0": se ad esempio la lunghezza di un array è "5", esso conterrà sei elementi; l'elemento contrassegnato dall'indice "0", infatti, è il primo dell'array. Se invece, per aggiungere elementi ad un array (supponiamo che sia quello precedentemente creato) si utilizzano le parentesi quadre vuote, i dati vengono accodati all'array; ad esempio:
$a[] = "lmn";
$a[] = "opq";
In questo caso, l'array si allunga di 2 elementi e risulta:
$a[0] = "abc";
$a[1] = "def";
$a[2] = "ghi";
$a[3] = "lmn";
$a[4] = "opq";
Questo esempio è molto utile quando si vogliano accodare degli elementi all'array senza ricorrere a specifiche funzioni e senza dover andare a leggere il numero di elementi contenuti nell'array: tutto sarà accodato automaticamente e correttamente.
Gli array associativi si basano invece su coppie "name-value"; un esempio potrebbe essere:
$a = array(
"nome" => "Mario",
"cognome" => "Rossi",
"email" => "mario@rossi.com",
);
È interessante la possibilità della funziona array di annidare le entries, come nell'esempio che segue:
$a = array(
"primo" => array(
"nome" => "Mario",
"cognome" => "Rossi",
"email" => "mario@rossi.com",
),
"secondo" => array(
"nome" => "Marco",
"cognome" => "Verdi",
"email" => "mario@verdi.com",
)
);
Eseguire su questo array un comando del tipo:
<? echo $a["secondo"]["email"]; ?>
visualizzerà "mario@verdi.com".
Objects
In PHP si possono utilizzare anche gli oggetti. Dato che PHP 5 ha ampliato enormemente il supporto alla programmazione ad oggetti questa verrà trattata successivamente in modo approfondito. Vediamo comunque un esempio:
class visualizza
{
public function esegui_visualizza () {
echo "Visualizza un messaggio";
}
}
$obj = new visualizza();
$obj->esegui_visualizza();
Iniziamo definendo la classe "visualizza", che contiene la funzione "esegui_visualizza" che non fa altro che visualizzare un semplice messaggio a video. Con lo statement "new" inizializziamo l'oggetto "$obj" e richiamiamo la funzione visualizza con l'operatore -> su $obj. Più dettagli, come detto, in seguito.