lunes, 6 de febrero de 2012

Arrays Multidimensionales PHP


Hola, en esta lección vamos a aprender a crear Arrays Multidimensionales, en las lecciones anteriores ya hemos visto el Array de una sola dimensión y el Array Asociativo.

   Un Array multidimensional es una Array en el cual sus elementos son otros Arrays y a sus vez estos Arrays pueden contener más Arrays, así hasta tantos como necesitemos.

   Abre tu editor de código y escribe ...


$alumnos = array(
array(1, "Jose", 18),
array(2, "Alfredo", 21),
array(3, "Roberto", 16),
array(4, "Manuel", 22));


   Bien, aquí tenemos un Array Multidimensional, como podemos ver el Array $alumnos contiene cuatro elementos que son cuatro Arrays...

   Cada uno de los Arrays contiene el id, nombre y edad, de cada uno de los alumnos.

   ¿Y cómo podríamos acceder a los elementos de este Array? ...
  Imagina que quieres imprimir en pantalla el id, nombre y edad del segundo elemento del Array $alumnos ...

echo "id del Alumno: " .$alumnos[1][0]. "<hr>";
echo "Nombre del Alumno: " .$alumnos[1][1]. "<hr>";
echo "Edad del Alumno: " .$alumnos[1][2]. "<hr>";


   Puede ser un poco lioso pero si te fijas detenidamente, no es tan difícil de entender, con $alumnos[1] nos estamos refiriendo al segundo elemento del Array Alumnos, pero como  el segundo elemento del Array también es otro Array añadimos el index del elemento Array, quedando en este caso $alumnos[1][uno de los tres elementos de este array id, nombre o edad]

   Ahora vamos a imprimir todos los alumnos que tenemos en nuestro Array Multidimensional en una tabla...


echo "<center>\n
<table border='1'>\n
<tr>\n
<th>ID</th>\n
<th>NOMBRE</th>\n
<th>EDAD</th>\n";
for($x = 0; $x < count($alumnos); $x++) {
echo "<tr>\n";
echo "<td>" .$alumnos[$x][0]. "</td>\n";
echo "<td>" .$alumnos[$x][1]. "</td>\n";
echo "<td>" .$alumnos[$x][2]. "</td>\n";
echo "</tr>\n";
}
echo "<table>\n</center>";

   Como podemos ver hemos creado un búcle for, para recorrer todos los elementos del Array $alumnos dando como resultado ...

Array Multidimensional 
Bueno esto es todo por hoy, sé que esto de los Arrays Multidimensionales puede ser un poco lioso en un principio, pero todo es cuestión de práctica.

Saludos.

No hay comentarios: