我有這個功能,分類的用戶的年齡在一定年齡組:將年齡置於年齡段桶的清理功能 - 可能嗎?
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
,但在所有情況下也不起作用。
我想到的最後一個選項是使用一系列() ? :
語句,這些語句會使代碼更短,但不會更具可讀性。也不太好。
任何人有任何好主意如何簡化?建議感激。
'之開關可以幫助你在這個case..nested'如果elseif'太 – swapnesh
@swapnesh怎麼回事?據我可以告訴PHP只能評估確切的價值,而不是像'case $ age <= 50:'這樣的東西。 – Max
@Max,PHP可以http://www.php.net/manual/en/control-structures.switch.php#88643。然而在你的情況下,它不會讓你的代碼更小/清潔 –