Matrizes Multidimensionais PHP
Nas páginas anteriores, descrevemos arrays que são uma única lista de pares chave/valor.
No entanto, às vezes você deseja armazenar valores com mais de uma chave. Para isso, temos arrays multidimensionais.
PHP - Matrizes Multidimensionais
Um array multidimensional é um array que contém um ou mais arrays.
O PHP suporta arrays multidimensionais com dois, três, quatro, cinco ou mais níveis de profundidade. No entanto, arrays com mais de três níveis de profundidade são difíceis de gerenciar para a maioria das pessoas.
A dimensão de uma matriz indica o número de índices necessários para selecionar um elemento.
- Para um array bidimensional você precisa de dois índices para selecionar um elemento
- Para uma matriz tridimensional, você precisa de três índices para selecionar um elemento
PHP - Matrizes bidimensionais
Um array bidimensional é um array de arrays (um array tridimensional é um array de arrays de arrays).
Primeiramente, dê uma olhada na tabela a seguir:
Name | Stock | Sold |
---|---|---|
Volvo | 22 | 18 |
BMW | 15 | 13 |
Saab | 5 | 2 |
Land Rover | 17 | 15 |
Podemos armazenar os dados da tabela acima em um array bidimensional, assim:
$cars = array (
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);
Agora o array bidimensional $cars contém quatro arrays e tem dois índices: linha e coluna.
Para ter acesso aos elementos do array $cars devemos apontar para os dois índices (linha e coluna):
Exemplo
<?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>";
?>
Também podemos colocar um for
loop dentro de outro for
loop para obter os elementos do array $cars (ainda temos que apontar para os dois índices):
Exemplo
<?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>";
}
?>
Referência completa do array PHP
Para obter uma referência completa de todas as funções de array, acesse nossa Referência de array PHP completa .
A referência contém uma breve descrição e exemplos de uso para cada função!