PHP/Programmazione/Array
Wikibooks, manuali e libri di testo liberi.
- Introduzione PHP/Introduzione
- Installazione e configurazione PHP/Installazione e configurazione
- Programmazione PHP/Programmazione
- Una pagina PHP PHP/Programmazione/Una pagina PHP
- echo PHP/Programmazione/echo
- Commenti PHP/Programmazione/Commenti
- Variabili PHP/Programmazione/Variabili
- Operatori PHP/Programmazione/Operatori
- Array PHP/Programmazione/Array
- Condizioni PHP/Programmazione/Condizioni
- Cicli PHP/Programmazione/Cicli
- Funzioni di base PHP/Programmazione/Funzioni di base
- Funzioni personalizzate PHP/Programmazione/Funzioni personalizzate
- Variabili globali PHP/Programmazione/Variabili globali
- $GLOBALS PHP/Programmazione/Variabili globali/$GLOBALS
- $_GET PHP/Programmazione/Variabili globali/$_GET
- $_POST PHP/Programmazione/Variabili globali/$_POST
- $_SESSION PHP/Programmazione/Variabili globali/$_SESSION
- $_COOKIE PHP/Programmazione/Variabili globali/$_COOKIE
- $_SERVER PHP/Programmazione/Variabili globali/$_SERVER
- File PHP/Programmazione/File
- Immagini PHP/Programmazione/Immagini
- Espressioni regolari PHP/Programmazione/Regexp
- Programmazione orientata agli oggetti PHP/Programmazione/OOP
- Programmazione avanzata con le classi PEAR PHP/PEAR
- PHP e i database PHP/Database
- Funzioni PHP per l'accesso ai database
- Database e object oriented PHP/Dboop
- PHP Design Pattern PHP/PHP Design Pattern
- Smarty PHP/Smarty
- Sicurezza delle applicazioni web PHP/Sicurezza
- PHP CLI: Command Line Interpreter PHP/Cli
- PHP GTK2: applicazioni desktop in PHP PHP/Gtk
- Wikibook credits
Gli array (o vettori) sono delle strutture dati complesse che risultano molto comode per la codifica di particolari algoritmi.
Possiamo pensare agli array come a delle liste di elementi nelle quali ciascun elemento ha un valore e un indice (o chiave) numerico o alfanumerico che lo identifica nella lista.
Gli array possono essere semplici o associativi: nel primo caso ciascun elemento della lista è identificato unicamente da un indice numerico; nel secondo caso ogni valore ha un indice numerico e uno alfanumerico, che può quindi memorizzare altri dati particolari.
In PHP non esistono matrici multidimensionali ma queste possono essere emulate creando strutture (anche molto complesse) con array di array, dal momento che ciascun elemento di un array può a sua volta essere un array:
$valore = array(); $riga = 2; $colonna = 3; $nome = 'Pippo'; $valore[$riga][$colonna][$nome] = 10;
Per inizializzare una variabile come array occorre dichiarare la variabile come tale e si utilizza la seguente notazione:
$array = array();
Per fare riferimento ad un elemento dell'array si usa la sintassi
$array[indice]
dove indice è un numero oppure, come spiegato sopra, una chiave alfanumerica.
Per aggiungere all'array un elemento con un indice n è sufficiente fare riferimento all'elemento stesso, come nell'esempio seguente:
$array = array(); $array[n] = "prova";
Per inserire automaticamente un elemento alla fine della lista si usa invece la sintassi
$array[] = valore;
L'indice assegnato così all'elemento appena inserito è pari all'elemento maggiore incrementato di uno. Se l'array è vuoto, viene assegnato indice 0.
$array = array(); $array[] = "prova1"; $array[] = "prova2"; $array[] = "prova3"; echo $array[0]; echo $array[1]; echo $array[2];
Questo semplice spezzone di codice restituirà
prova1prova2prova3
Se vogliamo indicare la posizione in cui inserirlo, oppure la chiave a cui dovrà essere associato, dovremo inserire il valore usando la sintassi seguente:
$array = array(); $array[1] = "prova 1"; $array["prova"] = "prova 2";
Ovviamente se un elemento è già presente a tale indice o chiave questo verrà sovrascritto.
È possibile assegnare dei valori all'array già in fase di dichiarazione, passandoli come parametri alla funzione array() che si occupa appunto di creare un nuovo array.
$array = array( "prova1", "prova2", "prova3" ); echo $array[0]; echo $array[1]; echo $array[2];
Questo spezzone di codice restituirà
prova1prova2prova3
proprio come nell'esempio fatto sopra.
Indice |
[modifica] Funzioni utili
[modifica] print_r
print_r è una funzione molto utile in php, non solo per gli array, ma anche per molti altri tipi di oggetto. Nel caso degli array, comunque, è funzionale perché consente di stampare il contenuto degli stessi in modo molto utile per eseguire, ad esempio, un veloce debug.
Ad esempio
$array = array( 100, 200, 300 ); print_r( $array );
restituirà il seguente output:
array( [0] => 100, [1] => 200, [2] => 300 )
[modifica] count
La funzione count, come suggerisce il nome, restituisce il numero di elementi contenuti nell'array.
$array = array( 1, 2, 3, 4 ); echo count( $array );
avrà come output
4
[modifica] implode ed explode
Queste due funzioni lavorano con le stringhe e gli array. La sintassi è:
implode (collante, array) explode (delimitatore, stringa)
La prima restituisce una stringa ottenuta concatenando in ordine tutti gli elementi di array inframezzandoli dalla stringa collante.
La seconda restituisce un array ottenuto separando stringa utilizzando delimitatore come separatore.
Ad esempio:
$arr = array('a','b','c'); $stringa = implode(":", $arr); //restituisce a:b:c
[modifica] foreach
Questa non è proprio una funzione, ma una struttura di controllo. Funziona così:
$arr = array('a','b','c'); foreach($arr as $variabile_chiave=>$variabile_contenuto) { // istruzioni }
Esempio:
$arr = array('a','b','c'); foreach($arr as $valore) { echo $valore; }
oppure, se si vuole visualizzare anche la chiave dell'array si fà così:
$arr = array('a'=>'lettera 1','b'=>'lettera 2','c'=>'lettera 3'); foreach($arr as $key=>$valore) { echo "La chiave dell'array ".$key." è uguale a ".$valore.".<br>"; }
Il primo esempio restituirà abc, il secondo La chiave dell'array a è uguale a lettera 1.
La chiave dell'array b è uguale a lettera 2.
La chiave dell'array c è uguale a lettera 3.
[modifica] Altre funzioni
Per vedere tutte le funzioni riguardanti gli array, guardare nella sezione Array functions della Documentazione ufficiale

