- array_map: documentation ( source)
- usort: documentation ( source)
<?php
//Ако датите са ти в такъв формат
$dates = ['31.07.2017', '31.08.2017', '30.09.2016', '31.10.2017'];
//ги обръщаме на date обекти
$dateObjects = array_map(function($date) {
return DateTime::createFromFormat('d.m.Y', $date);
}, $dates);
//сортираме
usort($dateObjects, function($a, $b) {
return $a->getTimestamp() - $b->getTimestamp();
});
foreach($dateObjects as $date) {
echo $date->format('d.m.Y').PHP_EOL;
}