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?