PHP - Problemas con arrays en PHP5

 
Vista:

Problemas con arrays en PHP5

Publicado por Víctor (2 intervenciones) el 24/09/2007 13:42:30
for($i=0;$i<count($results);$i++) {
$this->loadCategoria($results[$i]);
$this->categoriab=new DaoCategories;
$this->categoriab=$this->categoria;
$acategories[$i]=$this->categoriab; }



$results es un array bidimensional donde he almacenado los resultados de una query. Con lo cual queda:
$result[registro][campo]
El loadCategoria carga los datos del registro $i en la variable $this->categoria. Como veis el proceso es sencillo y unicamente debería añadir un elemento al array por cada registro.

Mediante una serie de prueba he detectado lo siguiente.

Primer paso por el for el array final contiene el valor del primer registro. En el segundo paso el array contiene dos posiciones pero en ambas figura el valor del segundo registro y como ya habreis deducido en el tercer paso por el array este tiene 3 posiciones y en las 3 figura el valor del tercer registro.

La consulta devuelve 3 resultados. Si devolviera 4 logicamente sucedería lo mismo pero con el cuarto valor.

¿Porqué sucede esto? ¿Como puedo añadir valores a un array sin que sobreescriba los anteriores con el valor que le paso?

También decir que todo esto en PHP4 no sucedía. Sólo al pasar a PHP5.

Saludos y gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con arrays en PHP5

Publicado por Nicolás (154 intervenciones) el 24/09/2007 16:08:47
Muestranos como tienes implementada la funcion

loadCategoria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con arrays en PHP5

Publicado por Diego Romero (1450 intervenciones) el 24/09/2007 20:47:15
Además de lo que te pide Nicolás, has un var_dump de $result antes de entrar al for para ver qué contiene y cómo lo contiene.

No he trabajado con PHP5 aún y dudo mucho que sea problema en el tratamiento de arrays, aunque sí es probable que sea diferencias de comportamiento en otras cosas que llevan como consecuencia un cambio en cómo se rellena un array.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar