Правильное склонение слов после числительных на PHP

Когда вы работаете с числами на сайтах, то зачастую возникает необходимость правильно просклонять слова после числительных. Например, 21 ден(ь), 19 дн(ей), 3 дн(я).

Я решаю эту задачу с помощью небольшой функции PHP.

function plural_type($n) {
                    return ($n%10==1 && $n%100!=11 ? 0 : ($n%10>=2 && $n%10<=4 && ($n%100<10 || $n%100>=20) ? 1 : 2));
                } //объявляем функцию plural_type

                $_plural_m = array('метр', 'метра', 'метров'); //подставляем варианты написания слова после числительного
                $m =  "39 " . $_plural_m[plural_type(round(39))]; //подставляем число для склонения.
echo $m; //выводим, например, 39 метров.

Таким образом мы можем просклонять что угодно. Самое главное, правильно ввести варианты написания слова в зависимости от числительного.

Share
Published by
Ilya Gayduk

Recent Posts

База данных для SEO проектов

Вот уже несколько лет я занимаюсь геоинформационными проектами. Это достаточно сложная тема, поскольку строятся такие…

Наша поездка в Стамбул

В декабре 2020 мы с женой решили съездить на пару дней в Стамбул. Этот город…

October CMS

Последний свой проект я сделал на Laravel и получил массу приятных впечатлений в процессе разработки.…

Наша поездка в Питер

Совсем недавно мы решили съездить в Санкт-Петербург просто погулять по городу, посмотреть интересные места. Город…

Laravel или Yii2

Первые три года я писал исключительно на нативном PHP, то есть без использования каких-либо движков…

Почтовый клиент mailbird

Я пользуюсь почтой Яндекс в ежедневном режиме. Также часто просматриваю ленту в facebook. Каждый день…