Вывод правильных окончаний слов в зависимости от числа
Как выводить слово в правильной форме множественного числа в зависимости от количества элементов
Содержание
Общие сведения
Отображение правильных форм множественного числа в зависимости от количества элементов называется плюрализация.
В русском языке есть 3 варианта окончания слов. Например: 1 товар, 7 товарОВ, 23 товарА и т.д.
На данной странице представлены правила плюрализации для разных языков. Для русского языка формула следующая:
plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);
Функция на php
Исходя из этого, пишем небольшую функцию, которая возвращает нужную форму слова в зависимости от переданного количества:
<?php
function plural_form($n, $forms)
{
return $n % 10 == 1 && $n % 100 != 11
? $forms[0]
: ($n % 10 >= 2 && $n % 10 <= 4 && ($n % 100 < 10 || $n % 100 >= 20)
? $forms[1] : $forms[2]);
}
Использование
Пользуемся данной функций следующим образом:
<?php
echo plural_form(1, ['штука', 'штуки', 'штук']); //штука
echo plural_form(3, ['рубль', 'рубля', 'рублей']); //рубля
echo plural_form(5, ['конфета', 'конфеты', 'конфет']); //конфет
Оставьте комментарий
Если эта статья была полезной для вас, оставьте комментарий ниже или задайте интересующий Вас вопрос. Ваш опыт может помочь другим читателям!
Написать комментарий