Páginas: [1]
Imprimir
Autor Tema: Ayuda para ordenar un ARRAY dentro de otro array  (Leído 364 veces)
nicolas
Newbie
*
Mensajes: 14



Ver Perfil WWW
« : Abril 21, 2009, 10:16:50 »

Necesito una manito

Tengo un Array que a su vez dentro de cada elemento tiene otro array.

print_r($datos);

me da este resultado:

Array(
    
  • => datos1: AA
  • [1] => datos2
        [2] => datos3
    )
    Array(
        
  • => datos1: BB
  • [1] => datos2
        [2] => datos3
    )
    Array(
        
  • => datos1: AA
  • [1] => datos2
        [2] => datos3
    )


    Necesito emitir un listadito que me ordene por Datos1

    Ej:


    Datos1: AA
    - item 1
    - item 2

    Datos1: BB
    - item 1


    Se entiende, ??

    Bueno agradezco la ayuda porque ando falto de ideas.

    gracias
En línea

Martin
Administrator
Newbie
*****
Mensajes: 47


Ver Perfil
« Respuesta #1 : Abril 22, 2009, 09:12:23 »

Podes aplicar las funciones natcasesort y reset sobre la matriz para que quede ordenada "naturalmente".

Edición : Agrego ejemplo.

Código:
<?php

$elemento
['datos1:AA'] = array('datos2','datos1');
$elemento['datos1:BB'] = array('datos2','datos1');
$elemento['datos1:CC'] = array('datos3','datos2');
  
foreach (
$elemento as $clave=>$valor){

    print 
$clave.'<br>';
  
    if (
is_array($valor)){

  natcasesort($valor);
  reset($valor);

  foreach ($valor as $item){print $item.'<br>';}
  
    }

 }

?>
« Última modificación: Abril 22, 2009, 09:41:31 por Martin » En línea
nicolas
Newbie
*
Mensajes: 14



Ver Perfil WWW
« Respuesta #2 : Abril 22, 2009, 11:58:52 »

hola, gracias por la respuesta alfinal busdque y encontré algo sencillo.

Código:
foreach ($vec as $key => $fila) {
            $col1[$key]  = $fila[0]; // columna de id
            $col2[$key] = $fila[1]; //columna dato
            $col3[$key] = $fila[2]; //columna dato2
}//for

array_multisort($col1, SORT_ASC, $vec);
En línea

Páginas: [1]
Imprimir
Ir a: