Foros del Web » Programando para Internet » PHP »

Array dinámico multidimensional

Estas en el tema de Array dinámico multidimensional en el foro de PHP en Foros del Web. Hola de nuevo a todos! Estoy tratando de crear y rellenar un array multidimensional a partir de los datos de una tabla ( $usuarios ). ...
  #1 (permalink)  
Antiguo 27/09/2004, 03:46
 
Fecha de Ingreso: septiembre-2004
Mensajes: 15
Antigüedad: 19 años, 7 meses
Puntos: 0
Array dinámico multidimensional

Hola de nuevo a todos!

Estoy tratando de crear y rellenar un array multidimensional a partir de los datos de una tabla ($usuarios). Por tanto el array iniciamente lo declaro vacío:
Código PHP:
$puntos=array(); 
Después de rellenarlo debería quedar así:

Código PHP:
$puntos=array(
    
"carlos"=> array(10,4,8....),
    
"marta"=> array(5,7,9....),
    
"luis"=> array(1,3,2....),
    ...
    ...
    ...
    ); 
Como podeis ver es un array que está compuesto por tantos arrays como usuarios para almacenar en cada uno de ellos una serie de datos numéricos.

El problema que tengo es que no se hacer lo siguiente:

1.- Crear los arrays de los usuarios con su nombre correspondiente. Esto lo he probado con:
Código PHP:
if(!in_array($usuarios["usuario"], $puntos)) //si no existe un usuario dentro del array $puntos lo creo
{
 
$a array_fill(0,20,0); //creo un array de 20 elemntos inicializados a 0
 
array_push($puntos,$a); //se lo añado a $puntos            

Hasta aquí bien pero... ¿cómo le doy nombre a ese array para que quede como os indiqué arriba?

2.- Una vez creado un array de usuario.¿Cómo puedo rellenar sus elementos con los diferentes valores?. Esto lo he probado con:

Código PHP:
array_push($puntos[$usuarios["usuario"]],$usuarios["numero"]); 
Pero, como es de esperar, me dice que no existe el índice de ese usuario: Notice: Undefined index: puntos in ........

Espero haberme explicado bien y sois capaces de entederme y ayudarme.

Gracias a tod@s
  #2 (permalink)  
Antiguo 27/09/2004, 04:06
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

En PHP, el array multidimensional es un array normal, en el que cada elemento es un array. Asi que para crear un nuevo elemento en el array, podrias hacer:
Código PHP:
$puntos[$usuarios["usuario"]]=array_fill(0,20,0); 
Es decir, $puntos[$usuarios["usuario"]] es un array. En todo codigo donde puedas poner un array, puedes poner $puntos['pepe']: en el foreach, en las funciones de array, ...

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 27/09/2004, 07:46
 
Fecha de Ingreso: septiembre-2004
Mensajes: 15
Antigüedad: 19 años, 7 meses
Puntos: 0
Gracias Josemi!

Lo he solucionado perfectamente Se que andaba cerca de la solución pero hay veces que si no te dan un empujoncito no consigues encontrarlo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:59.