Вы здесь

Скрипт склонения числительных PHP и JavaScript

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