3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = [ 0 => ['name' => 'aaa', 'date' => '2016-10-02'], 1 => ['name' => 'aaa', 'date' => '2016-10-08'], 2 => ['name' => 'aaa', 'date' => '2016-10-01'], 3 => ['name' => 'aaa', 'date' => '2016-10-02'], 4 => ['name' => 'aaa', 'date' => '2016-10-03'], 5 => ['name' => 'aaa', 'date' => '2016-10-02'], 6 => ['name' => 'aaa', 'date' => '2016-10-05'], 7 => ['name' => 'aaa', 'date' => '2016-10-07'], 8 => ['name' => 'aaa', 'date' => '2016-10-06'], 9 => ['name' => 'aaa', 'date' => '2016-10-04'], ]; usort($arr, function($a, $b){ $dtA = DateTime::createFromFormat('Y-m-d', $a['date'] ); $dtB = DateTime::createFromFormat('Y-m-d', $b['date'] ); if($dtA == $dtB){ return 0; } return $dtA > $dtB ? 1 : -1; }); var_dump($arr);

preferences:
34.75 ms | 405 KiB | 5 Q