Верх страницы
Время для прочтения: 0 мин. 0 сек.

Выбираем окончания для существительных с количественным числительным

В русском языке существительные с количественным числительными могут быть в единственном, двойственном и множественном числе: один голос, два голоса, пять голосов (двойственное число — это почти исчезнувшая в русском языке грамматическая конструкция).

Я привык называть эти три формы следующим образом: «форма единицы», «форма двойки», «форма пятёрки».

Чтобы правильно просклонять существительное с количественным числительным, я наваял нечто подобное

function endingsForm($n, $form1, $form2, $form5) {
	$n = abs($n) % 100;
	$n1 = $n % 10;
	if ($n > 10 && $n < 20) return $form5;
	if ($n1 > 1 && $n1 < 5) return $form2;
	if ($n1 == 1) return $form1;
	return $form5;
}
 
// пример
echo 'Статья оценена в  '.$n.' '.endingsForm($n, 'голос', 'голоса', 'голосов');

Чтобы просклонять существительные на других языках, воспользуйтесь данным материалом

Автор: Кобзарёв Михаил

Русский разработчик с 20-ти летним стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Битрикс, Joomla, Drupal, Opencart, DLE, Laravel, Moonshine, SuiteCRM.

Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги.

Веду блог о разработке, дайджест в телеграмме и в ВК.

Вы всегда можете нанять меня.

Комментарии
Подписаться
Уведомить о
guest

4 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Юлий
10 лет назад

Более лаконичный вариант, переведенный из gettext на php:

<?php
function plural_form( $n, $forms ) {
  return $n%10==1&&$n%100!=11?$forms[0]:($n%10>=2&&$n%10<=4&&$n%100=20)?$forms[1]:$forms[2]);
}
?>
Юлий
10 лет назад
Ответить на  Кобзарёв Михаил

слово «лаконичный» не говорит о том, что вариант должен быть другим

Предыдущая запись

Давайте дружить
в Телеграме

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, Joomla, Opencart, Laravel, Moonshine, фильмы и сериалы