Функции склонения числительных на 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 комментарий