Нужно написать функцию, имеющую на входе целое число лет, а на выходе строку соответствующую правилам русского языка, например "21 год", "24 года", "18 лет". Ключевой момент - работа функции на максимально возможном диапазоне лет.
Само собой варианты типа
switch ($cnt) {
case 1:
case 21:
case 31:
case 41:
return $cnt.' год';
break;
case 2:
case 3:
case 4:
case 22:
case 23:
case 24:
case 32:
case 33:
case 34:
return $cnt.' года';
break;
default:
return $cnt.' лет';
}
и
if( in_array($cnt, array(1, 21, 31, 41, 51, 61, 71, 81, 91)) ) return $cnt.' год';
elseif( in_array($cnt, array(2, 3, 4, 22, 23, 24, 32, 33, 34, 42, 43, 44, 52, 53, 54, 62, 63, 64, 72, 73, 74, 82, 83, 84, 92, 93, 94)) ) return $cnt.' годa';
else return $cnt.' лет';
не подходят. )
Какие идеи? )))