PHP sort multidimensional array by date

arrays, date, php, sorting

Solution

function cmp($a, $b){

    $a = strtotime($a[2]);
    $b = strtotime($b[2]);

    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

usort($array, "cmp");

Or for >= PHP 7

usort($array, function($a, $b){
    return strtotime($a[2]) <=> strtotime($b[2]);
});

Problem

I'm having a problem. I have a multidimensional array, that looks like this: ``` Array ( [0] => Array ( [0] => Testguy2's post. [1] => testguy2 [2] => 2013-04-03 ) [1] => Array ( [0] => Testguy's post. [1] => testguy [2] => 2013-04-07 ) ); ``` I want to sort the posts from the newest date to the oldest date, so it looks like this: ``` Array ( [1] => Array ( [0] => Testguy's post. [1] => testguy [2] => 2013-04-07 ) [0] => Array ( [0] => Testguy2's post. [1] => testguy2 [2] => 2013-04-03 ) ); ``` How do I sort it?

Original source