我有两个独立的排序函数,可以按日期和字母顺序排序。然而,我需要以某种方式将这些结果组合起来,这样我就可以按年份对一系列结果进行排序,然后按当年的字母表进行排序。
有人知道如何做到这一点吗?
我当前的排序函数使用uasort,它们是:
function job_year_sort($x, $y)
{
return ($x['YearCompleted'] < $y['YearCompleted']);
}
和
function name_sort($x, $y)
{
return strcasecmp($x['ProjectName'], $y['ProjectName']);
}
也许这个会按年份排序,然后按名称排序:
function job_year_name_sort($x, $y)
{
if ( $x['YearCompleted'] == $y['YearCompleted'] ) {
return strcasecmp($x['ProjectName'], $y['ProjectName']);
}
else {
return $x['YearCompleted'] - $y['YearCompleted'];
}
}
只需将这些函数与所需的逻辑组合即可
function year_name_sort($x, $y) {
if ($x['YearCompleted'] == $y['YearCompleted'])
return name_sort($x, $y);
return job_year_sort($x, $y);
}