Foros del Web » Programando para Internet » PHP »

Ordenar 3 arrays

Estas en el tema de Ordenar 3 arrays en el foro de PHP en Foros del Web. Buenas gente, tengo el siguiente problema a ver si me pueden ayudar a solucionarlo resulta que tengo 3 arrays, por ejemplo: Código PHP: $array1 =array( ...
  #1 (permalink)  
Antiguo 22/01/2014, 11:53
 
Fecha de Ingreso: julio-2013
Mensajes: 21
Antigüedad: 10 años, 9 meses
Puntos: 0
Ordenar 3 arrays

Buenas gente, tengo el siguiente problema a ver si me pueden ayudar a solucionarlo resulta que tengo 3 arrays, por ejemplo:
Código PHP:
$array1=array(8,5,9);
$array2=array('pedro','carlos','paola');
$array3=array(56,35,40); 
necesito es que ordenando el primer array de mayor a menor los demás se ordenes del mismo orden que tiene el primero, es decir, que quede así:
Código PHP:
$array1=array(9,8,5);
$array2=array('paola','pedro','carlos');
$array3=array(40,56,35); 
Se que existe el comando "rsort" pero solo me ordena uno a la vez y no se como sincronizarlo con lo demás este comando, si me puede ayudar con este problema se lo agradecería mucho.
  #2 (permalink)  
Antiguo 22/01/2014, 11:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ordenar 3 arrays

Puedes usar array_multisort(), consulta el manual.

http://php.net/array_multisort
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 22/01/2014, 22:06
 
Fecha de Ingreso: julio-2013
Mensajes: 21
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Ordenar 3 arrays

Muchas pateketrueke, el comando funciona perfecto pero por alguna extraña razón cuando meto los valores en un lienzo de canvas no me sale el ordenada la gráfica me sale con los valores predeterminado, revise el javascript y hice la prueba a ver que valore llega a la zona de javascript y pues me llega ordenado pero cuando lo utilizo para gráfica no lo toma, alguna idea de que puede ser?
  #4 (permalink)  
Antiguo 22/01/2014, 22:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ordenar 3 arrays

Cita:
Iniciado por lzerol Ver Mensaje
[...] pues me llega ordenado pero cuando lo utilizo para gráfica no lo toma, alguna idea de que puede ser?
Ni idea, en todo caso es imposible adivinar que librería de Javascript estás usando así como la estructura de datos que utiliza, mucho menos saber cómo estás pasando dichos datos, etc.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 23/01/2014, 10:32
 
Fecha de Ingreso: julio-2013
Mensajes: 21
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Ordenar 3 arrays

Ayer tuve haciendo otras pruebas y usando la función rsort y sort si me funciona pero esta función no me sincroniza con los otros array, librería javascript no estoy usando solo uso el javascript en general con las funciones canvas de html5 y el codigo adicional esta php, no se si te pueda pasar todo el código para que le heche un ojo a ver si tu si ves lo que anda mal
  #6 (permalink)  
Antiguo 23/01/2014, 10:44
Avatar de baldaweb  
Fecha de Ingreso: septiembre-2010
Ubicación: Barco pirata
Mensajes: 244
Antigüedad: 13 años, 6 meses
Puntos: 20
Respuesta: Ordenar 3 arrays

No se si hay alguna función que lo haga, pero lo que puedes hacer es ordenar el primero y guardar los índices.

índices primer array (2,0,1)

Y los otros arrays los ordenas según los índices del primer array.
  #7 (permalink)  
Antiguo 23/01/2014, 10:52
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Ordenar 3 arrays

Pues no se hasta que punto necesites ordenar los arrays. Mira si algo como esto te puede servir

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #8 (permalink)  
Antiguo 23/01/2014, 11:28
 
Fecha de Ingreso: julio-2013
Mensajes: 21
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Ordenar 3 arrays

Cita:
Iniciado por baldaweb Ver Mensaje
No se si hay alguna función que lo haga, pero lo que puedes hacer es ordenar el primero y guardar los índices.

índices primer array (2,0,1)

Y los otros arrays los ordenas según los índices del primer array.
No entendí bien de como ordenarlo a partir de la primera función ya que los array son generado a traves de un ciclos sacando los valores de una base de datos en forma de columna.

Cita:
Iniciado por jonni09lo Ver Mensaje
Pues no se hasta que punto necesites ordenar los arrays. Mira si [URL="http://www.forosdelweb.com/f18/ordenando-multiarray-manteniendo-clave-key-1088667/#post4557252"]algo como esto[/URL] te puede servir

Saludos
Entiendo ayer probando pude resolverlo pero al fuerza de foreach, lo que hice fue que como los valores que me arroja forma un array positivo y otro array negativo de valores numéricos y un ultimo array de titulo de caracteres, entonce use sort para el array negativo sabiendo que el valor mas pequeño va ser el primero y use el rsort para el array positivo sabiendo que el valor mas alto sea el primero allí esta los primeros dos arrays sincronizado con respecto al array de los titulos a partir del array positivo ordenado y desordenado usando foreach puede ordenar el array de titulo pero creo que meter un foreach dentro de otro no es muy optimo sabiendo que esta la función array_multisort te hace ese mismo trabajo en una linea o por lo menos poder usar algo que no involucre tanto ciclos.

Etiquetas: arrays
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 10:38.