0
也許我想要的是'太'定製,必須手動完成,我認爲usort
可以做到這一點,但似乎我完全不明白它。按日期降序排序顯示的數組,但如果日期是本年度然後把那些在數組的開始:使用PHP的usort方法對數組進行排序
usort($show, function($a, $b){
$year = (int) date("Y", time());
$a = $a['date'];
$b = $b['date'];
if ($a === $year) return -1;
if ($b === $year) return -1;
if ($a === $b) return 0;
return ($a > $b) ? -1 : 1;
});
它不喜歡這樣的工作。 'usort'(就像任何其他用戶定義的比較函數一樣)**不會聲明嚴格的順序來比較元素。解決方案可能是 - 排序的兩個步驟,第一:按日期排序元素(按「年份」排序),第二:將當前年份元素放在開頭(按「年份==當前年份」排序) –