jueves, 1 de marzo de 2012

Arrays (Tablas) Parte 2



Arrays Multidimensionales

Los arrays multidimensionales son arrays en los cuales cada elemento es otro array.

Ejemplo:

<?php

$calendario[0] = array (1, "enero", 31);
$calendario[1] = array (2, "febrero", 28);
$calendario[2] = array (3, "marzo", 31);
$calendario[3] = array (4, "abril", 30);
$calendario[4] = array (5, "mayo", 31);
$calendario[5] = array (6, "junio", 30);
$calendario[6] = array (7, "julio", 31);
$calendario[7] = array (8, "agosto", 31);
$calendario[8] = array (9, "septiembre", 30);
$calendario[9] = array (10, "octubre", 31);
$calendario[10] = array (11, "noviembre", 30);
$calendario[11] = array (12, "diciembre", 31);

reset ($calendario);

while (list ($clave, $valor) = each ($calendario)) {

$cadena = $valor[1];
$cadena .= " es el mes número " . $valor[0];
$cadena .= " y tiene " . $valor[2] . " días <BR>";

echo $cadena;

}

?>

Vamos a explicar este ejemplo de array multidimensional.

1º Hemos declarado un array llamado $calendario. Este calendario está formado por 12 elementos que serían los 12 meses del año.

2º A cada elemento hemos declarado un array que recoge tres valores, el número de mes, el nombre del mes y el número de días que tiene ese mes.

Por lo que hemos metido un arrays dentro de otro array que era lo que se pretendía.

3º Hemos creado un bucle While para recorrer los arrays. Con la función list hemos declarado las variables $clave y $valor para ir recogiendo los valores del array, y con la función each, extraemos el valor del elemento actual y pasamos al siguiente.

4º Hemos creado una variable llamada $cadena para que almacene los elementos de los arrays internos. Recordamos que cada array interno tenía 3 valores:

valor[0] = Número del mes.
valor[1] = Nombre del mes.
valor[2] = Número de días que tiene el mes.

5º Por último hemos creado un echo para $cadena y nos ha imprimido lo que le hemos indicado:

enero es el mes número 1 y tiene 31 días
febrero es el mes número 2 y tiene 28 dí­as
marzo es el mes número 3 y tiene 31 dí­as
abril es el mes número 4 y tiene 30 dí­as
mayo es el mes número 5 y tiene 31 dí­as
junio es el mes número 6 y tiene 30 días
julio es el mes número 7 y tiene 31 dí­as
agosto es el mes número 8 y tiene 31 dí­as
septiembre es el mes número 9 y tiene 30 dí­as
octubre es el mes número 10 y tiene 31 días
noviembre es el mes número 11 y tiene 30 dí­as
diciembre es el mes número 12 y tiene 31 dí­as

Veamos otro ejemplo.

Imaginemos que tenemos una lista de empleados y queremos almacenar en un array sus nombres, edad y estado civil.

<?php
$empleados[0] = array ("Pedro", 34, "casado");
$empleados[1] = array ("Jorge", 26, "soltero");
$empleados[2] = array ("Ana", 28, "casada");
$empleados[3] = array ("Julia", 30, "soltera");

reset ($empleados);

while (list ($clave, $valor) = each ($empleados)) {

$cadena = $valor[0];
$cadena .= " tiene " . $valor[1] . "años";
$cadena .= " y está " . $valor[2];

echo $cadena;

}

?>

Imprimiría:

Pedro tiene 34 años y está casado
Jorge tiene 26 años y está soltero
Ana tiene 28 años y está casada
Julia tiene 30 años y está soltera


En el próximo capítulo hablaremos de Bucles y Repeticiones.

No hay comentarios:

Publicar un comentario