Foros del Web » Programando para Internet » PHP »

Cambiar las posiciones de los elementos de un array

Estas en el tema de Cambiar las posiciones de los elementos de un array en el foro de PHP en Foros del Web. Buenas a todos! No se si se podrá hacer lo que estoy buscando, pero a ver si alguien lo ha visto alguna vez. Tengo un ...
  #1 (permalink)  
Antiguo 25/04/2010, 13:38
Avatar de huspy  
Fecha de Ingreso: diciembre-2008
Ubicación: Málaga, España
Mensajes: 120
Antigüedad: 15 años, 3 meses
Puntos: 2
Cambiar las posiciones de los elementos de un array

Buenas a todos!

No se si se podrá hacer lo que estoy buscando, pero a ver si alguien lo ha visto alguna vez.

Tengo un array bidimensional que contiene las siguientes "columnas", por llamarlos de algún modo, ya que despues se muestran en una tabla:

Código PHP:
Array (
 [
0] => Array ( [id] => [precio] => 12.00 [nombre] => producto1 
 [
1] => Array ( [id] => [precio] => 33.00 [nombre] => producto2 
 [
2] => Array ( [id] => [precio] => 54.00 [nombre] => producto3 
 [
3] => Array ( [id] => [precio] => 85.00 [nombre] => producto4 
 [
4] => Array ( [id] => [precio] => 26.00 [nombre] => producto5 )
 ) 
Y lo que quiero es teniedo otro array con los nombre de las columnas en un determinado orden:

Código PHP:
Array (     [0] => id     [1] => nombre     [2] => precio 
Cambiar la posicion del primer array, para que quede de la siguiente forma:

Código PHP:
Array (
 [
0] => Array ( [id] => [nombre] => producto1 [precio] => 12.00 
 [
1] => Array ( [id] => [nombre] => producto2 [precio] => 33.00 
 [
2] => Array ( [id] => [nombre] => producto3 [precio] => 54.00 
 [
3] => Array ( [id] => [nombre] => producto4 [precio] => 85.00 
 [
4] => Array ( [id] => [nombre] => producto5 [precio] => 26.00)
 ) 

¿Es posible hacer algo como esto?

Me ayudaríais muchísimo!!

Gracias y Saludos!
__________________
"Lo escuché y lo olvidé, lo vi y lo entendí, lo hice y lo aprendí." (Confucio)
  #2 (permalink)  
Antiguo 25/04/2010, 14:14
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Respuesta: Cambiar las posiciones de los elementos de un array

es mas fácil que lo ordenes al momento de generar el array.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 25/04/2010, 14:18
Avatar de huspy  
Fecha de Ingreso: diciembre-2008
Ubicación: Málaga, España
Mensajes: 120
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Cambiar las posiciones de los elementos de un array

Buenas!

Ya, eso lo imagino, pero el problema es que no puedo modificar nada antes de la generación del array

Saludos!
__________________
"Lo escuché y lo olvidé, lo vi y lo entendí, lo hice y lo aprendí." (Confucio)
  #4 (permalink)  
Antiguo 25/04/2010, 14:36
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Respuesta: Cambiar las posiciones de los elementos de un array

si se puede hacer lo que pides y sería creando una funcion utilizando varias de las funciones de arreglos que usa php pero no le encuentro la utilidad ya que si vas a mostrar los resultados no necesitas que esten en un órden tu lo puedes ordenar como quieras en el momento de imprimirlos.


saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #5 (permalink)  
Antiguo 25/04/2010, 14:39
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Cambiar las posiciones de los elementos de un array

Sí es posible, pero no le veo lógica el tratar de hacerlo de esa forma. Ya que cuando vas a buscar la llave asociativa solo hay que mencionar cual es la llave que deseo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 25/04/2010, 14:45
Avatar de huspy  
Fecha de Ingreso: diciembre-2008
Ubicación: Málaga, España
Mensajes: 120
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Cambiar las posiciones de los elementos de un array

Buenas de nuevo eits!!

Ya, pero es que este array se forma de dos consultas a dos tablas distintas y luegos se hace un array_merge().

El mayor problema es que el método que hace esto es genérico, es decir, que se le pasan las tablas, los campos, etc... Por lo tanto no puedo saber que campos, son los que tienen que ir en cada posicion, porque en un caso se llamará nombre en otro descripcion, o uno tendrá 2 campos otro 3...

Por eso no se como hacerlo a posteriori teniendo ese array.

¿Que funciones de arreglos te refieres?

Gracias de nuevo!

Saludos!
__________________
"Lo escuché y lo olvidé, lo vi y lo entendí, lo hice y lo aprendí." (Confucio)
  #7 (permalink)  
Antiguo 25/04/2010, 15:00
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Respuesta: Cambiar las posiciones de los elementos de un array

me refiero a estas funciones

solo encuentra las adecuadas para realizar lo que necesitas.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #8 (permalink)  
Antiguo 25/04/2010, 16:29
Avatar de huspy  
Fecha de Ingreso: diciembre-2008
Ubicación: Málaga, España
Mensajes: 120
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Cambiar las posiciones de los elementos de un array

Ok, Gracias ¬¬

Saludos!
__________________
"Lo escuché y lo olvidé, lo vi y lo entendí, lo hice y lo aprendí." (Confucio)

Etiquetas: elementos, posiciones
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 23:22.