Ora illustreremo, soprattutto attraverso esempi, quali e come possono essere gli array che possiamo costruire per i nostri scopi.
Ecco un primo esempio di array associativo:
<?php
// questa definizione di array (1)
$a = array( 'color' => 'red',
'taste' => 'sweet',
'shape' => 'round',
'name' => 'apple',
4 // la chiave sarà zero
);
// è totalmente equivalente a questa (2)
$a['color'] = 'red';
$a['taste'] = 'sweet';
$a['shape'] = 'round';
$a['name'] = 'apple';
$a[] = 4; // la chiave sarà zero
// un altro esempio (3)
$b[] = 'a';
$b[] = 'b';
$b[] = 'c';
// il risultato sarà come array(0 => 'a' , 1 => 'b' , 2 => 'c'),
// o semplicemente array('a', 'b', 'c')
?>
questi che abbiamo appena mostrato sono array associativi (1) (2) (3) e monodimensionali.
Ora vediamo qualche esempio pratico di come usare la proprietà associativa, e come creare qualche array di tipo particolare
<?php
// Array come mappa di proprietà
$map = array( 'version' => 4,
'OS' => 'Linux',
'lang' => 'english',
'short_tags' => true
);
// array con chiavi strettamente numeriche.
$array = array( 7,
8,
0,
156,
-10
);
// questo è lo stesso array(0 => 7, 1 => 8, ...)
$switching = array( 10, // key = 0
5 => 6,
3 => 7,
'a' => 4,
11, // key = 6 (maximum of integer-indices was 5)
'8' => 2, // key = 8 (integer!)
'02' => 77, // key = '02'
0 => 12 // the value 10 will be overwritten by 12
);
// empty array
$empty = array();
?>
In questo esempio vediamo creare un vettore di colori ed un esempio di come estrarre i dati dallo array
<?php
$colors = array('red', 'blue', 'green', 'yellow');
foreach ($colors as $color) {
echo "Do you like $color?\n";
}
/* output:
Do you like red?
Do you like blue?
Do you like green?
Do you like yellow?
*/
?>
Bisogna notare che non è possibile modificare i valori all'interno dell' array in modo diretto, occorre realizzare un ciclo per modificarli.
Vediamo l'esempio:
<?php
foreach ($colors as $key => $color) {
// l'istruzione qui sotto non funziona
//$color = strtoupper($color);
// questo invece funziona
$colors[$key] = strtoupper($color);
}
print_r($colors);
/* output:
Array
(
[0] => RED
[1] => BLUE
[2] => GREEN
[3] => YELLOW
)
*/
?>
Ora vediamo un esempio di un array monodimensionale
<?php
$firstquarter = array(1 => 'January', 'February', 'March');
print_r($firstquarter);
/* output:
Array
(
[1] => 'January'
[2] => 'February'
[3] => 'March'
)
*/
?>
Ora creiamo un array multi dimensionale
<?php
$fruits = array ( "fruits" => array ( "a" => "orange",
"b" => "banana",
"c" => "apple"
),
"numbers" => array ( 1,
2,
3,
4,
5,
6,
),
"holes" => array ( "first",
5 => "second",
"third"
)
);
// alcuni esempi di indirizzamento dei valori nell' array ora creato
echo $fruits["holes"][5]; // scrive "second"
echo $fruits["fruits"]["a"]; // scrive "orange"
unset($fruits["holes"][0]); // elimina "first"
// Creiamo un nuovo array multidimensionale
$juices["apple"]["green"] = "good";
?>