Capire ed usare gli array nel linguaggio PHP.
ALLWEB free
Directory Web Script Linguaggi
Italiano Inglese Tutte
 
 20 Jan 2017
aggiungi in preferiti  
Home    Mappa directory    Script




Array php:

In questa sezione troverete:
Gli array non sono altro che contenitori dove poter stipare dati, con un contatore univoco per ogni dato inserito.

Per capire il funzionamento di un array immaginate una tabella con due colonne, una contenente un numero che partendo da zero aumenta di 1 per ogni riga, mentre nella colonna a fianco troveremo il dato da memorizzare.

I numeratori possono essere numerici o letterali, e non hanno un'obbligo sequenziale.




Definizione di array:

$saluto = array('buongiorno','buonasera','buonanotte');
Oppure:
$saluto[0] = 'buongiorno';
$saluto[1] = 'buonasera';
$saluto[2] = 'buonanotte';
Se scriviamo:
print $saluto[0]."<br>\n";
print $saluto[1]."<br>\n";
print $saluto[2]."<br>\n";

Otterremo come risultato:
buongiorno
buonasera
buonanotte



Numerare chiavi:

Se non dichiarato diversamente gli array partono dal numero zero.
Nell'esempio riprodotto sotto mostriamo come associare una chiave diversamente dal numero zero:
$saluto = array(5 => 'buongiorno', 'buonasera', 'buonanotte');
Con i simboli => associamo a buongiorno il numero 5. Tutti gli altri saranno numerati di conseguenza (6 e 7).



Incrementare:

Gli array, anche se sono indicizzati, possono essere incrementati.
Supponiamo di avere un array così composto:
$saluto = array('buongiorno','buonasera','buonanotte');

Adesso con dei semplici esempi vedremo come incrementare o manipolare gli array.

$saluto[] = 'buonanotte2';
In questo caso il client aumenta di un numero e lo associa a buonanotte2, adesso l'array sarà formato così:
$saluto = array('buongiorno','buonasera','buonanotte','buonanotte2');

$saluto[1] = 'buonpomeriggio';
In questo caso il client sostituisce buonasera con buonpomeriggio, adesso l'array sarà formato così:
$saluto = array('buongiorno','buonpomeriggio','buonanotte','buonanotte2');

$saluto[6] = 'buonanotte3';
In questo caso il server associa buonanotte3 con il numero 6, lasciando libero il numero 4 e 5. Per riempirli lo dobbiamo espressamente dichiarare, perché in caso di nuovo valore senza specificare il numero, il server incrementerà partendo dal numeratore più alto.
Adesso il nuovo array sarà così composto:
$saluto = array('buongiorno','buonpomeriggio','buonanotte','buonanotte2','buonanotte3');
Le chiavi o numeratori saranno i seguenti:
$saluto[0]=buongiorno
$saluto[1]=buonpomeriggio
$saluto[2]=buonanotte
$saluto[3]=buonanotte2
$saluto[6]=buonanotte3
I valori $saluto[4] e $saluto[5] NON esistono.


Numeratori letterali:

Gli array hanno anche la possibilità di avere dei numeratori letterali.
Vediamo l'esempio:
$saluto = array('buongiorno', 'buonasera', 'buonanotte', 'abc' => 'buonpomeriggio');
Oppure:
$saluto[0] = 'buongiorno';
$saluto[1] = 'buonasera';
$saluto[2] = 'buonanotte';
$saluto['abc'] = 'buonpomeriggio';
Se adesso incrementiamo l'array di un valore, questo sarà il numero [3].
Come abbiamo visto i numeratori letterali sono sempre racchiusi fra apici. Questa regola salta solo se l'elemento che richiama l'array è racchiuso fra i doppi apici.
Esempi:
print $saluto['abc']; //scrive buonpomeriggio
print "allora $saluto[abc]";
//scrive allora buonpomeriggio
print "allora $saluto['abc']";
//genera errore!!
print "allora {$saluto['abc']}";
//scrive allora buonpomeriggio
print "allora" . $saluto['abc'];
//scrive allora buonpomeriggio (il punto concatena le stringhe)



Annidare gli array:

Gli array si possono annidare, ossia un array ne può contenere altri.
Esempio:
$prova = array( array('a1', 'b1', 'abc1' => 'c1', 'def1' => 'd1'), array('a2', 'b2', 'abc2' => 'c2', 'def2' => 'd2'));
Se scriviamo:
print $prova[0][1]; // scrive b1
print $prova[1]['abc2']; // scrive c2
In pratica segue il percorso che gli abbiamo dato.

Annidare con numeratori:
$prova = array( 0 => array('a1', 'b1', 'abc1' => 'c1', 'def1' => 'd1'), 1 => array('a2', 'b2', 'abc2' => 'c2', 'def2' => 'd2'), 'abcdef', 'ghilmn');
Se scriviamo:
print $prova[0][1]; // scrive b1
print $prova[1]['abc2']; // scrive c2
print $prova[2]; // scrive abcdef



Cancellare elementi o array:

Per eliminare gli elementi contenuti in un array basta usare la funzione unset() Esempio:
unset($prova[1]); // elimina l'elemento 1 dell'array $prova
unset($prova); // elimina tutto l'array $prova