Foros del Web » Programando para Internet » PHP »

Ordenar array multidimensional

Estas en el tema de Ordenar array multidimensional en el foro de PHP en Foros del Web. Hola a todos, Tengo el siguiente array multidimensional $mArray= array("Gelocatil"=> array(0=>"150", 1=> " 1.3 "), "Aspirina"=> array( 0=> "2", 1=> " 1.8 "), "Jarabe para ...
  #1 (permalink)  
Antiguo 19/12/2012, 07:58
 
Fecha de Ingreso: octubre-2010
Mensajes: 88
Antigüedad: 13 años, 6 meses
Puntos: 1
Ordenar array multidimensional

Hola a todos,
Tengo el siguiente array multidimensional

$mArray= array("Gelocatil"=> array(0=>"150", 1=> "1.3"),
"Aspirina"=> array( 0=> "2", 1=> "1.8"),
"Jarabe para la tos"=> array(0=> "1", 1=> "2.5"));

Y necesito, en determinado momento poder ordenarlo por los datos que os muestro en rojo.
¿Podríais decirme como se haría?

Gracias y un saludo
  #2 (permalink)  
Antiguo 19/12/2012, 08:10
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ordenar array multidimensional

Puedes usar uasort() para definir una función que compare ese índice.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 19/12/2012, 09:20
Avatar de Trublux  
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 355
Antigüedad: 13 años, 6 meses
Puntos: 48
Respuesta: Ordenar array multidimensional

La usé hace mucho y no lo recuerdo muy bien pero creo que esta función te servirá:
Código PHP:
Ver original
  1. static function orderMultiDimensionalArray( $toOrderArray, $field, $inverse = false )
  2. {
  3.     $position = array();
  4.     $newRow = array();
  5.     foreach ( $toOrderArray as $key => $row )
  6.     {
  7.         $position[$key] = $row[$field];
  8.         $newRow[$key] = $row;
  9.     }
  10.     if ( $inverse )
  11.         arsort( $position );
  12.     else
  13.         asort( $position );
  14.     $returnArray = array();
  15.     foreach ( $position as $key => $pos )
  16.         $returnArray[] = $newRow[$key];
  17.  
  18.     return $returnArray;
  19. }
__________________
eZ Publish Developer Basic Legacy
eZ Publish Developer Basics (4.4)
Alojamientos rurales en España
  #4 (permalink)  
Antiguo 19/12/2012, 13:55
 
Fecha de Ingreso: octubre-2010
Mensajes: 88
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Ordenar array multidimensional

Gracias a los dos por contestarme.
Voy a probar con lo que me decís.
Un saludo

Etiquetas: multidimensional
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 13:12.