Search code examples
phparrayssortingobjectmultidimensional-array

Sort an object array by a column


I want to sort my object array by date, which is like that:

$array = array( 
[0] = array ('date' => '2012-05-15', 'name' => 'jon')
[1] = array ('date' => '2012-05-10', 'name' => 'jon')
[2] = array ('date' => '2012-05-09', 'name' => 'jon')
[3] = array ('date' => '2012-05-16', 'name' => 'jon')
);

What method should I use?


Solution

  • uasort() is another option.

    $array = array( 
    array ('date' => '2012-05-15', 'name' => 'jon'),
    array ('date' => '2012-05-10', 'name' => 'jon'),
    array ('date' => '2012-05-09', 'name' => 'jon'),
    array ('date' => '2012-05-16', 'name' => 'jon')
    );
    
    function date_sort($a, $b)
    {
        if ( $a['date'] < $b['date'] ) return -1;
        if ( $a['date'] > $b['date'] ) return 1;
        return 0;
    }
    
    uasort($array, 'date_sort');
    var_dump($array);