Foros del Web » Programando para Internet » PHP »

Problemas con ordenar una matriz o array multidemncional

Estas en el tema de Problemas con ordenar una matriz o array multidemncional en el foro de PHP en Foros del Web. Hola amigos. mi problema es que necesito ordenar una matriz. Me explico. Tengo la siguiente matriz $matriz[0][1] = 5; $matriz[1][1] = 4; $matriz[0][2] = 3; ...
  #1 (permalink)  
Antiguo 23/09/2010, 16:53
eira2meigas
Invitado
 
Mensajes: n/a
Puntos:
Problemas con ordenar una matriz o array multidemncional

Hola amigos.

mi problema es que necesito ordenar una matriz. Me explico.
Tengo la siguiente matriz

$matriz[0][1] = 5; $matriz[1][1] = 4;
$matriz[0][2] = 3; $matriz[1][2] = 8;
$matriz[0][3] = 7; $matriz[1][3] = 10;

esto me genera una tabla de la siguiente manera
P1 P2 P3
5 3 7
4 8 10

Necesito ordenar esta tabla de mayor a menor por el P3 de manera verical.
Es decir la funcion sort me la ordena de forma horizontal. Aplicando sort me queda de la siguiente manera

P1 P2 P3
7 5 3
10 8 4

y yo necesito que queda de esta menera

P1 P2 P3
4 8 10
5 3 7

En vez de ordenar de izquierda a derecha necesito que ordene de arriva hacia abajo.
Espero que me entiendan y me puedan ayudar es muy urgente.
Gracias de antemano.
  #2 (permalink)  
Antiguo 23/09/2010, 17:10
Avatar de eZakto  
Fecha de Ingreso: julio-2008
Mensajes: 214
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Problemas con ordenar una matriz o array multidemncional

Creo que, en tu caso, no puedes. La única forma sería rearmar el array antes de formar la tabla.

Saludos.
__________________
eZakto™
  #3 (permalink)  
Antiguo 23/09/2010, 17:40
eira2meigas
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problemas con ordenar una matriz o array multidemncional

Hola he estado leyendo y parece que se puede con
http://php.net/manual/es/function.array-multisort.php
el problema es que no se utilzar bien la funcion.

Aun no me funciona
  #4 (permalink)  
Antiguo 24/09/2010, 09:25
eira2meigas
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problemas con ordenar una matriz o array multidemncional

Bueno pude arreglarlo la forma es la siguiente:

$data[] = array( 67, 2);
$data[] = array( 86, 1);
$data[] = array( 85, 6);
$data[] = array( 98, 2);
$data[] = array( 86, 6);
$data[] = array( 67, 7);

foreach ($data as $key => $row) {
$volume[$key] = $row[0];
$edition[$key] = $row[1];
}

array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);

y de esta manera puedes ordenar las matrices como si fueran consultas sql

Etiquetas: matriz
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 21:59.