Ver Mensaje Individual
  #9 (permalink)  
Antiguo 15/02/2011, 17:28
israbart
 
Fecha de Ingreso: septiembre-2007
Mensajes: 76
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Uso de variables en Keys de matrices

Muchas gracias jonasanx por tu comentarios

En la mayoria de las guias sobre matrices que he buscado la usan de esta manera:

$matriz[0]['Nombre'] = "Israbart";
$matriz[0]['Direccion'] = "calle foros N° 123";
$matriz[0]['telefono'] = 999 999 999;
$matriz[1]['Nombre'] = "Bartisra";
$matriz[1]['Direccion'] = "calle delweb N° 456";
$matriz[1]['telefono'] = 000 000 000;
.
.
. etc

El primer key lo obtiene del contador de algun bucle, y el segundo puede ser un campo como Nombre, Edad, Direccion, etc. u otro contador dentro de un bucle anidado. De acuerdo a la matriz del ejemplo anterior se obtiene una tabla asi:

Nombre Direccion Telefono
0 Israbart calle foros N°123 999 999 999
1 Bartisra calle delweb N° 456 000 000 000

De esta forma se ocupan todos los espacios de la matriz, sin embargo para visualizar esto en pantalla como lo necesito se ocupa varias líneas de código. (Bueno digo varias pero son como 30 líneas)

Ahora bien lo que yo tengo es algo como esto, tomando los datos del ejemplo anterior:

$matriz['Israbart']['calle foros N° 123'] = 999 999 999
$matriz['BartIsra']['calle delweb N° 456'] = 000 000 000
.
.
.

Los keys obtienen su valor de los registro de la base de datos. De esta manera si la BD tiene 20 valores diferentes en el campo Dirección de un total de 30 registros tendría 20 columnas diferentes en lugar de solo 3 como en el ejemplo anterior. De acuerdo a la matriz anterior se tiene una tabla asi:

calle foros N° 123 calle delweb N° 456 . . . valor N
Israbart 999 999 999
BartIsra 000 000 000
.
.
.
valorN

Lo bueno de esta forma es que para visualizar los datos en pantalla se usa cuando mucho 6 líneas de código, sin embargo hay muchos espacios o celdas desperdiciadas.

Es por eso que no se cual es la mejor opción. Usar mas líneas de código o dejar espacios desperdiciados en la matriz.

Saludos