Плохой пример.
Конкретно для "темы" склонение не нужно. Так как склоняется цифра.
А вот с ценой на арбузы такое не прокатит, ну разве что использовать сокращение "руб."...
°°°STEM°°°, почему не прокатит? все прекрасно прокатит с арбузами слова выбери по все по той же универсальной формуле 1-2-5 то есть в массиве три слова арбуз, арбуза, арбузов... 1 рубль 2рубля 5 рублей
Даже с теми же людьми... ну дорустим в теме двое человек... а если их там не двое а 22??? все равно получается в теме двадцать два человек двадцать двое человек ведь не скажешь
Потому что функция возвращает либо 0 либо 1 либо 2,соответственно с ключами массива,это видимо для удобства.
Но можно обойтись и без него.
крута
Так..
function num2word($n) {
return ($n = ( $n = $n %100 ) > 19 ? ($n % 10) :$n ) == 1 ? 'человек' : (( $n > 1&&$n <=4 ) ? 'человека' : 'человек');
}
$num = 37;
echo 'Сейчас в теме: '.$num.' '.num2word($num);
VTR1m, тогда функция получается локальной то есть не совсем универсальной... например у меня на одной странице нужно рубли склонять а на другой другое слово... ине надо просто будет в массиве изменить слова ... а если делать как ты предлогаешь то нужно каждый раз заново писать всю функцию
pullo, тогда добавь в функцию еще три параметра (для трех слов для склонения) и все.