Array multidimensionali PHP
Nelle pagine precedenti abbiamo descritto gli array che sono un unico elenco di coppie chiave/valore.
Tuttavia, a volte si desidera memorizzare valori con più di una chiave. Per questo, abbiamo array multidimensionali.
PHP - Array multidimensionali
Un array multidimensionale è un array contenente uno o più array.
PHP supporta array multidimensionali con due, tre, quattro, cinque o più livelli di profondità. Tuttavia, gli array con una profondità superiore a tre livelli sono difficili da gestire per la maggior parte delle persone.
La dimensione di un array indica il numero di indici necessari per selezionare un elemento.
- Per un array bidimensionale sono necessari due indici per selezionare un elemento
- Per un array tridimensionale sono necessari tre indici per selezionare un elemento
PHP - Array bidimensionali
Un array bidimensionale è un array di array (un array tridimensionale è un array di array di array).
Per prima cosa, dai un'occhiata alla seguente tabella:
Name | Stock | Sold |
---|---|---|
Volvo | 22 | 18 |
BMW | 15 | 13 |
Saab | 5 | 2 |
Land Rover | 17 | 15 |
Possiamo memorizzare i dati della tabella sopra in un array bidimensionale, come questo:
$cars = array (
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);
Ora l'array bidimensionale $cars contiene quattro array e ha due indici: riga e colonna.
Per accedere agli elementi dell'array $cars dobbiamo puntare ai due indici (riga e colonna):
Esempio
<?php
echo $cars[0][0].": In stock: ".$cars[0][1].", sold: ".$cars[0][2].".<br>";
echo $cars[1][0].": In stock: ".$cars[1][1].", sold: ".$cars[1][2].".<br>";
echo $cars[2][0].": In stock: ".$cars[2][1].", sold: ".$cars[2][2].".<br>";
echo $cars[3][0].": In stock: ".$cars[3][1].", sold: ".$cars[3][2].".<br>";
?>
Possiamo anche inserire un for
ciclo all'interno di un altro for
ciclo per ottenere gli elementi dell'array $cars (dobbiamo ancora puntare ai due indici):
Esempio
<?php
for ($row = 0; $row < 4; $row++) {
echo "<p><b>Row number $row</b></p>";
echo "<ul>";
for ($col = 0; $col < 3; $col++) {
echo "<li>".$cars[$row][$col]."</li>";
}
echo "</ul>";
}
?>
Riferimento completo all'array PHP
Per un riferimento completo di tutte le funzioni di array, vai al nostro completo PHP Array Reference .
Il riferimento contiene una breve descrizione, ed esempi di utilizzo, per ciascuna funzione!