ordenación arrays

Iniciado por nØFi#, 15 Junio 2009, 17:16 PM

0 Miembros y 1 Visitante están viendo este tema.

nØFi#

Buenas,

Tengo un array que contiene varios arrays dentro y me gustaria ordenar por un campo en concreto.
Para que lo veais mas claro, el array es este:

Array
(
    [0] => Array
        (
            [id] => 5
            [descripcio] => desc5
        )

    [1] => Array
        (
            [id] => 4
            [descripcio] => desc4
        )

    [2] => Array
        (
            [id] => 8
            [descripcio] => desc8
        )

)


Los arrays de dentro tienen dos campos, el id y la descripcion. Yo lo que quiero es ordenar por el campo id. Es decir, que el $array[1]['id'] que vale 4, estuviera por delante de $array[0]['id'] que vale 5. Nose si me explico bien..

He mirado las funciones de arrays en php.net pero no veo ninguna que me sirva (a lo mejor se me escapa alguna...)

Alguien tiene alguna idea de como puedo hacerlo? O lo que quiero no es factible?

sALu2!
#

nØFi#

Lo tengo!  ;-)


Código (php) [Seleccionar]

function ordenarMultidimensional($arrayOriginal, $camp)
{
    $posicio = array();
    $novaFila = array();
    $resultat = array();
   
    foreach ($arrayOriginal as $key => $fila)
    {
        $posicio[$key]  = $fila[$camp];
        $novaFila[$key] = $fila;
    }
   
    asort($posicio);
   
    foreach ($posicio as $key => $val)
    {     
        array_push($resultat,$novaFila[$key]);
    }
    return $resultat;
}
#

^Cloud^

Personalmente suelo usar la función array_multiosort de php. Al principio es un poco lioso de entender pero es muy útil a la hora de ordenar matrices en php.

http://es2.php.net/manual/en/function.array-multisort.php

Un saludo,
Ahora resulta que imagino mi pasado
y llevo en esta clínica cuarenta años.
Nunca jamás he pisado la calle
y el electroshock ha sido mi padre