Matrices multidimensionales de PHP
En las páginas anteriores, hemos descrito arreglos que son una sola lista de pares clave/valor.
Sin embargo, a veces desea almacenar valores con más de una clave. Para esto, tenemos arreglos multidimensionales.
PHP - Matrices multidimensionales
Una matriz multidimensional es una matriz que contiene una o más matrices.
PHP admite arreglos multidimensionales que tienen dos, tres, cuatro, cinco o más niveles de profundidad. Sin embargo, las matrices de más de tres niveles de profundidad son difíciles de administrar para la mayoría de las personas.
La dimensión de una matriz indica el número de índices que necesita para seleccionar un elemento.
- Para una matriz bidimensional, necesita dos índices para seleccionar un elemento
- Para una matriz tridimensional, necesita tres índices para seleccionar un elemento
PHP - Matrices bidimensionales
Una matriz bidimensional es una matriz de matrices (una matriz tridimensional es una matriz de matrices de matrices).
Primero, eche un vistazo a la siguiente tabla:
Name | Stock | Sold |
---|---|---|
Volvo | 22 | 18 |
BMW | 15 | 13 |
Saab | 5 | 2 |
Land Rover | 17 | 15 |
Podemos almacenar los datos de la tabla anterior en una matriz bidimensional, como esta:
$cars = array (
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);
Ahora, la matriz bidimensional $cars contiene cuatro matrices y tiene dos índices: fila y columna.
Para acceder a los elementos del arreglo $cars debemos apuntar a los dos índices (fila y columna):
Ejemplo
<?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>";
?>
También podemos poner un for
bucle dentro de otro for
bucle para obtener los elementos de la matriz $cars (todavía tenemos que señalar los dos índices):
Ejemplo
<?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>";
}
?>
Referencia completa de matriz de PHP
Para obtener una referencia completa de todas las funciones de matriz, vaya a nuestra completa Referencia de matrices de PHP .
¡La referencia contiene una breve descripción y ejemplos de uso para cada función!