Las tablas (o array en inglés), son muy importantes en PHP, ya que generalmente, las funciones que devuelven varios valores, como las funciones ligadas a las bases de datos, lo hacen en forma de tabla.

En PHP disponemos de dos tipos de tablas. El primero sería el clásico, utilizando índices:

<?php

$ciudad[] = “París”;

$ciudad[] = “Roma”;

$ciudad[] = “Sevilla”;

$ciudad[] = “Londres”;

print (“yo vivo en ” . $ciudad[2] . “<BR>\n”);

?>

Esta es una forma de asignar elementos a una tabla, pero una forma más formal es utilizando la función array

<?php

$ciudad = array(“París”, “Roma”, “Sevilla”, “Londres”);

//contamos el número de elementos de la tabla

$numelentos = count($ciudad);

//imprimimos todos los elementos de la tabla

for ($i=0; $i < $numelentos; $i++)

{

print (“La ciudad $i es $ciudad[$i] <BR>\n”);

}

?>

Sino se especifica, el primer índice es el cero, pero podemos utilizar el operador => para especificar el indice inicial.

$ciudad = array(1=>”París”, “Roma”, “Sevilla”, “Londres”);

Un segundo tipo, son las tablas asociativas, en las cuáles a cada elemento se le asigna un valor (key) para acceder a él.

Para entenderlo, que mejor que un ejemplo, supongamos que tenemos una tabla en al que cada elemento almacena el número de visitas a nuestra web por cada día de la semana.

Utilizando el método clásico de índices, cada día de la semana se representaría por un entero, 0 para lunes, 1 para martes, etc.

$visitas[0] = 200;

$visitas[1] = 186;

si usamos las tablas asociativas sería

$visitas[“lunes”] = 200;

$visitas[“martes”] = 186;

o bien,

$visitas = array(“lunes”=>200; “martes”=>186);

Ahora bien, recorrer una tabla y mostrar su contenido es sencillo utilizando los índices, pero ¿cómo hacerlo en las tablas asociativas?. La manipulación de las tabas asociativas se a hace través de funciones que actúan sobre un puntero interno que indica la posición. Por defecto, el puntero se situa en el primer elemento añadido en la tabla, hasta que es movido por una función:

current – devuelve el valor del elemento que indica el puntero
pos – realiza la misma función que current
reset – mueve el puntero al primer elemento de la tabla
end – mueve el puntero al último elemento de la tabla
next – mueve el puntero al elemento siquiente
prev – mueve el puntero al elemento anterior
count – devuelve el número de elementos de una tabla.

Veamos un ejemplo de las funciones anteriores:

<?php

$semana = array(“lunes”, “martes”, “miércoles”, “jueves”, “viernes”, “sábado”, “domindo”);

echo count($semana); //7

//situamos el puntero en el primer elemento

reset($semana);

echo current($semana); //lunes

next($semana);

echo pos($semana); //martes

end($semana)

echo pos($semana); //domingo

prev($semana);

echo current($semana); //sábado

?>

Recorrer una tabla con las funciones anteriores se hace un poco lioso, para ello se recomienda utilizar la función each().

<?php

$visitas = array(“lunes”=>200, “martes”=>186, “miércoles”=>190, “jueves”=>175);

reset($visitas);

while (list($clave, $valor) = each($visitas))

{

echo “el día $clave ha tenido $valor visitas<BR>”;

}

?>

La función each()devuelve el valor del elemento actual, en este caso, el valor del elemento actual y su clave, y desplaza el puntero al siguiente, cuando llega al final devuelve FALSO, y termina el bucle while().

Tablas multidimensionales

Las tablas multidimensionales son simplemente tablas en las cuales cada elemento es a su vez otra tabla.

<?php

$calendario[] = array (1, “enero”, 31);

$calendario[] = array (2, “febrero”, 28);

$calendario[] = array (3, “marzo”, 31);

$calendario[] = array (4, “abril”, 30);

$calendario[] = array (5, “mayo”, 31);

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

{

$cadena = $varlor[1];

$cadena .= ” es el mes número ” . $valor[0];

$cadena .= “y tiene ” . $varlor[2] . ” días<BR>”;

echo $cadena;

}

?>

La función list() es más bien un operador de asignación, lo que hace es asignar valores a unas lista de variables. En este caso los valores son extraidos de una tabla por la función each().

Aplicaciones Imprescindibles para Laptops Las computadoras portátiles han logrado posicionare en diferentes sectores del mercado informático. También es importante destacar que su uso está cad...
Facebook modifica su motor de búsqueda La red social anunció profundos cambios en su sistema de búsqueda. Ahora con simples instrucciones es posible hallar mensajes de años atrás sobre tema...
Eduardo Saverin: Jumio está creciendo más rápido que Facebook en sus orígenes Eduardo Saverin, el co-fundador de Facebook junto a Mark Zuckerberg, está más que contento con su nuevo proyecto profesional, la firma emergente de pa...
Como poner a prueba la creatividad cuando el dinero no alcanza.. Se acerca el final de mes o la fecha de vencimiento de nuestras obligaciones bancarias o comerciales y estamos en saldo negativo en nuestras cuentas, ...
Microsoft dice adios a Windows XP y hace disparar ventas de PCs Según ha publicado la firma Citi Research, las ventas de ordenadores personales han crecido debido al fin del ciclo de vida del sistema operativo ...
Que es un Acrónimo recursivo? Un acrónimo recurrente o acrónimo recursivo es aquel que, a diferencia de los acrónimos comunes, no parece explicar del todo su signficado completo. M...
Posicionamiento Eficaz ¿Que es el Posicionamiento? Se llama Posicionamiento a la percepción o referencia a nivel mental que un cliente o potencial cliente tiene de una ma...
Samsung trabaja en el desarrollo de un nuevo Galaxy A Un mes lleva en el mercado el Galaxy A8, pero Samsung ya trabaja en el sucesor de uno de los equipos más sorprendentes de la surcoreana para su gama m...
Casi 3 cuartas partes de los usuarios de Android no compraría un Iphone5 Sea como sea, la compañía Google – otrora conocida como gigante de las búsquedas – ha logrado hacerse con la parte más importante de usuarios de telef...
Código PHP para monitorizar el tamaño de las carpetas en un hosting Cuando Tenemos una web que usan muchos usuarios, necesitamos saber cuanto crecen las carpetas críticas de la misma, por ejemplo , las imagenes y docum...
Usando Arreglos en PHP
Tagged on: