Los últimos tutoriales de desarrollo web
 

PHP 5 matrices multidimensionales


Al principio de este tutorial, hemos descrito las matrices que son una sola lista de pares clave / valor.

Sin embargo, a veces se desea almacenar los valores con más de una clave.

Esto se puede almacenar en matrices multidimensionales.


PHP - Matrices multidimensionales

Una matriz multidimensional es una matriz que contiene una o más matrices.

PHP entiende matrices multidimensionales que son dos, tres, cuatro, cinco, o más niveles de profundidad. Sin embargo, las matrices más de tres niveles de profundidad son difíciles de manejar para la mayoría de la gente.

La dimensión de una matriz indica el número de índices que necesita para seleccionar un elemento.

  • Para una matriz de dos dimensiones que necesita dos índices para seleccionar un elemento
  • Para una matriz tridimensional se necesitan tres índices para seleccionar un elemento


PHP - Las matrices bidimensionales

Una matriz bidimensional es una matriz de matrices (a three-dimensional array is an array of arrays of arrays) .

En primer lugar, echar un vistazo a la siguiente tabla:

Nombre Valores Vendido
Volvo 22 18
BMW 15 13
Saab 5 2
Land Rover 17 15

Podemos almacenar los datos de la tabla anterior en una matriz de dos dimensiones, como este:

$cars = array
  (
  array("Volvo",22,18),
  array("BMW",15,13),
  array("Saab",5,2),
  array("Land Rover",17,15)
  );

Ahora el bidimensional $ coches matriz contiene cuatro matrices, y tiene dos índices: fila y columna.

Para conseguir el acceso a los elementos de la matriz $ coches hay que apuntar a los dos índices (row and column) :

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>";
?>
Ejecutar ejemplo »

También podemos poner un bucle dentro de otro bucle For para obtener los elementos de la matriz $ coches (we still have to point to the two indices) :

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>";
}
?>
Ejecutar ejemplo »