我有两个独立的排序函数,可以按日期和字母顺序排序。但是,我需要以某种方式将这些组合在一起,以便我可以按年份对结果数组进行排序,然后在该年内按字母表排序。
有人知道如何实现这一目标吗?
我当前的排序函数使用uasort并且是:
function job_year_sort($x, $y)
{
return ($x['YearCompleted'] < $y['YearCompleted']);
}
和
function name_sort($x, $y)
{
return strcasecmp($x['ProjectName'], $y['ProjectName']);
}
答案 0 :(得分:2)
也许这个会按年份排序,然后按名称排序:
function job_year_name_sort($x, $y)
{
if ( $x['YearCompleted'] == $y['YearCompleted'] ) {
return strcasecmp($x['ProjectName'], $y['ProjectName']);
}
else {
return $x['YearCompleted'] - $y['YearCompleted'];
}
}
答案 1 :(得分:1)
只需将这些功能与所需的逻辑
组合在一起function year_name_sort($x, $y) {
if ($x['YearCompleted'] == $y['YearCompleted'])
return name_sort($x, $y);
return job_year_sort($x, $y);
}