Foros del Web » Programando para Internet » PHP »

Mantener orden de inserción en un array asociativo

Estas en el tema de Mantener orden de inserción en un array asociativo en el foro de PHP en Foros del Web. Buenas, necesito saber como puedo recorrer un array asociativo (las claves son string, y no eneteros consecutivos) en el mismo o orden en que hice ...
  #1 (permalink)  
Antiguo 09/08/2012, 08:46
 
Fecha de Ingreso: agosto-2010
Mensajes: 128
Antigüedad: 13 años, 8 meses
Puntos: 2
Mantener orden de inserción en un array asociativo

Buenas,

necesito saber como puedo recorrer un array asociativo (las claves son string, y no eneteros consecutivos) en el mismo o orden en que hice la inserción.

Al parecer, al recorre el array con un foreach, se recorren las claves en orden alfabético.

Gracias!
  #2 (permalink)  
Antiguo 09/08/2012, 09:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mantener orden de inserción en un array asociativo

Eso que dices del foreach() está errado, si consultas el manual te darás cuenta que se recorre en el orden tal cual está el array.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 09/08/2012, 09:18
 
Fecha de Ingreso: agosto-2010
Mensajes: 128
Antigüedad: 13 años, 8 meses
Puntos: 2
Respuesta: Mantener orden de inserción en un array asociativo

Bueno, miento, antes de hacer el foreach, extraigo una porción del array, según el número de página que quiera visualizar (Por ejemplo, si visualizo paginas de 5 elementos y consulto la 3, saco los elementos del 11 al 15), quizá la función array_slice no me devuelve los elementos 11 a 15 que yo inserté en dicha posición.

Perdón por el error.

Edito: Y tras ver la documentación PHP, poniendo PRESERVE_KEYS = true mi problema se soluciona. Gracias! :)

Etiquetas: asociativo, inserción, orden
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 12:41.