Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

sort an array base on key

i have an array like this:

Array
(
    [0] => Array
        (
            [title] => some title
            [time] => 1279231500
        )

    [1] => Array
        (
            [title] => some title 2
            [time] => 1279231440
        )

    [2] => Array
        (
            [title] => some title 3
            [time] => 1279229880
        )
)

how i can sort it based on time?

like image 385
greenbandit Avatar asked Aug 29 '10 18:08

greenbandit


2 Answers

You can sort it this way (since it is an associative array):

function cmp($a, $b)
{
   return strcmp($a['time'], $b['time']);
}

usort($your_array, "cmp");
print_r($your_array);
like image 121
Sarfraz Avatar answered Sep 22 '22 06:09

Sarfraz


As Gumbo mentioned, you should not use strcmp for integer values.

Use this function

function cmp($a, $b) {
    if ($a['time'] == $b['time'])
        return 0;
    return ($a['time'] < $b['time']) ? -1 : 1;
}
like image 39
Simon Avatar answered Sep 25 '22 06:09

Simon