используйте usort. usort нужна функция для сравнения. Строка с только месяц-год не может анализировать с strtotime. С Днем (я использую простой 1-) возвращает strtotime правильную метку времени. Эта функция для восхождения. Для сортировки по убыванию необходимо переключать только $ a и $ b. Я добавил некоторые значения в массив для лучшего теста.
<?php
$dates = array('1-2018','5-2019','10-2018','5-2020','9-1978','6-2001');
usort($dates, function($a,$b){ return strtotime('1-'.$a) <=> strtotime('1-'.$b);});
echo "<pre>".var_export($dates, true)."\n";
echo "Min: ".reset($dates)."\n";
echo "Max: ".end($dates)."\n";
Редактировать: минимум это первое значение из массива, максимум это последнее значение.
Выход:
array (
0 => '9-1978',
1 => '6-2001',
2 => '1-2018',
3 => '10-2018',
4 => '5-2019',
5 => '5-2020',
)
Min: 9-1978
Max: 5-2020
Демо: https://3v4l.org/lZocQ