Функции склонения числительных на PHP и JavaScript
Вот, пожалуй, самая лаконичная и удобная функция склонения целых числительных:
PHP Вариант:
/**
* Функция склонения числительных в русском языке
*
* @param int $number Число которое нужно просклонять
* @param array $titles Массив слов для склонения
* @return string
**/
function declOfNum($number, $titles)
{
$cases = array (2, 0, 1, 1, 1, 2);
return $number." ".$titles[ ($number%100 > 4 && $number %100 < 20) ? 2 : $cases[min($number%10, 5)] ];
}
Пример использования:
echo 'Я купил '.declOfNum(5, array('пирожок', 'пирожка', 'пирожков'));
Ее вариант для применения в Javascript:
function declOfNum(number, titles)
{
cases = [2, 0, 1, 1, 1, 2];
return titles[ (number%100>4 && number%100<20)? 2 : cases[(number%10<5)?number%10:5] ];
}
Пример использования:
$('#mess').html(declOfNum(foundedCount, ['Найдена ', 'Найдено ', 'Найдено ']) + foundedCount + declOfNum(foundedCount, [' модель', ' модели', ' моделей']);
1 комментарий