sábado, 14 de mayo de 2011

8. Los arrays II

Ya estoy aquí de vuelta, hoy voy a empezar explicando lo que son los arrays bidimensionales.
ARRAYS BIDIMENSIOINALES
$nombres=array(array(“E”, “Eva”, 20),
               array(“P”, “Pilar”, 30),
               array(“C”, “Celia”, 28) );
Como podeís ver hay tres arrays dentro de un array, el primer array tiene el índice cero, los elementos están indexados del 0 al 2; el segundo array tiene el índice uno y el tercer array tiene el índice 2. Lo vemos con un ejemplo para que quede más claro lo que quiero decir. Queremos que en pantalla nos salga impreso el nombre Pilar, lo haríamos de la siguiente forma:
<?
$nombres=array(array(“E”, “Eva”, 20),
               array(“P”, “Pilar”, 30),
               array(“C”, “Celia”, 28) );
echo $nombres[1][1];
?>
Si lo comprobamos nos sale en pantalla:


Si quisiéramos imprimir varios elementos de un array o elementos de diferentes arrays, utilizaríamos la concatenación. Ahora queremos que se imprima Pilar, 20 y C, lo haríamos de la siguiente forma:
<?
$nombres=array(array(“E”, “Eva”, 20),
               array(“P”, “Pilar”, 30),
               array(“C”, “Celia”, 28) );
echo $nombres[0][2].$nombres[1][1].$nombres[2][0];
?>
Y nos aparecerá en pantalla lo siguiente:

Para que salga separado podríamos modificar el echo de la siguiente forma:
echo $nombres[0][2].”, “.$nombres[1][1].”, “$nombres[2][0]”.”;
Saldría impreso así: 20, Pilar, C.
Si quisiéramos hacer un script que recorriera todos los elementos de cada array lo haríamos así:
<?
$nombres=array(array(“E”, “Eva”, 20),
               array(“P”, “Pilar”, 30),
               array(“C”, “Celia”, 28) );
for($fila=0; $fila<3; $fila++)
   {
for($columna=0; $columna<3; $columna++)
   {
echo $nombres[$fila][$columna]."<br>";
   }
   }
?>
Y nos saldría por pantalla:

La variable $fila se refiere a los arrays y la variable $columna se refiere a los elementos que hay en el interior de cada array. Un array es una tabla, hay que tratarla como una tabla, por eso es conveniente que cuando nos refiramos a los elementos de los arrays lo hagamos con una variable llamada $columna y en los arrays $fila, para no confundirnos. Sin embargo, si queremos denominar a cada elemento del array con un nombre en vez de con un numero, por ejemplo:
Inicial
Nombre
Edad
E
Eva
20
P
Pilar
30
C
Celia
28
Se haría de la siguiente forma:

<?
$nombres=array(array(Inicial =>"E",
                     Nombre => "Eva",
                     Edad =>20),
               array(Inicial =>"P",
                     Nombre => "Pilar",
                     Edad => 30),
               array(Inicial =>"C",
                     Nombre = >"Celia",
                     Edad =>28) );
?>
Si quiseramos recorrer todos los nombres de los arrays lo haríamos de la siguiente manera:
<?
$nombres=array(array(Inicial =>"E",
                     Nombre => "Eva",
                     Edad =>20),
               array(Inicial =>"P",
                     Nombre => "Pilar",
                     Edad => 30),
               array(Inicial =>"C",
                     Nombre = >"Celia",
                     Edad =>28) );
for ($fila=0; $fila<=2; $fila++)
echo $nombres[$fila][“Nombre”].”<br>”;
?>
Y nos sale en pantalla

Creo que hasta aquí es suficiente. En la próxima entrada seguiré explicando los arrays. De momento, os dejo para que vosotros mismos podáis hacer vuestro propios programas con arrays, si queréis me lo enviáis y lo publico en el blog. De momento hasta pronto!

1 comentario: