<?php
$array = [
"Feedback 13 okt",
"Feedback 11 okt",
"Feedback 12 okt",
"Sweet",
"Feedback 9 okt",
"Feedback 6 okt",
"Feedback 8 jun",
"Fixes",
"Realisation",
"Feedback 22 mar",
"Do something",
"Feedback 3 maj",
"Feedback 1 dec",
];
$mmm = array_flip([
"jan", "feb", "mar", "apr",
"maj", "jun", "jul", "aug",
"sep", "okt", "nov", "dec"
]);
usort(
$array,
function($a, $b) use($mmm) {
sscanf("$a 32 dec", "%[^0-9] %d %s", $aWord, $aDay, $aMon);
sscanf("$b 32 dec", "%[^0-9] %d %s", $bWord, $bDay, $bMon);
return [$aWord, $mmm[$aMon], $aDay] <=> [$bWord, $mmm[$bMon], $bDay];
}
);
var_export($array);
- Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- array (
0 => 'Do something',
1 => 'Feedback 22 mar',
2 => 'Feedback 3 maj',
3 => 'Feedback 8 jun',
4 => 'Feedback 6 okt',
5 => 'Feedback 9 okt',
6 => 'Feedback 11 okt',
7 => 'Feedback 12 okt',
8 => 'Feedback 13 okt',
9 => 'Feedback 1 dec',
10 => 'Fixes',
11 => 'Realisation',
12 => 'Sweet',
)
preferences:
112.75 ms | 403 KiB | 121 Q