我有这个功能可以对某个年龄段的用户的年龄进行分类:
private function calculateAgeGroup($age)
{
if (!$age) {
return null;
}
if ($age <= 25) {
return '0-25';
}
if ($age <= 30) {
return '26-30';
}
if ($age <= 35) {
return '31-35';
}
if ($age <= 40) {
return '36-40';
}
if ($age <= 45) {
return '41-45';
}
if ($age <= 50) {
return '46-50';
}
if ($age <= 60) {
return '51-60';
}
return '61-';
}
有没有办法简化(意思是:不那么冗长,少一些 if 语句)?我的第一个想法是使用模数,但我很快就放弃了,因为在这里使用模数没有意义。
第二种选择类似于floor($age/10)*10 . "-" . ceil($age/10)*10
但也并非在所有情况下都有效。
我想到的最后一个选项是使用一系列() ? :
语句,这将使代码更短但更易读。也不太好。
任何人都知道如何简化这个?建议表示赞赏。