Часто у разработчиков появляется необходимость склонять слова используя различные падежи. Например склонение числа, когда вам необходимо вывести надпись указывающую на количество добавленных в корзину товаров или показать в карточке товара сколько свободной продукции осталось на складе и т.д. К счастью есть готовые решения наподобие функции ниже:

/**
 * Склонение слова после числа
 * @param $number - число
 * @param $after - массив слов в различных падежах, напр. ['товар', 'товара', 'товаров']
 */
function plural_form($number, $after) {
    $cases = array (2, 0, 1, 1, 1, 2);
    return $number.' '.$after[ ($number%100>4 && $number%100<20)? 2: $cases[min($number%10, 5)] ];
}

Первым аргументов функция принимает целое число, вторым аргументом идёт массив существительного в именительном падеже, родительном падеже (в единственном и множественном числе). Функция вернёт строку с числом и правильно формой существительного. Пример:

$productsCnt = 1;
echo 'На складе ' . plural_form($productsCnt, ['товар', 'товара', 'товаров']); //На складе 1 товар

или

$productsCnt = 15;
echo 'В корзине ' . plural_form($productsCnt, ['товар', 'товара', 'товаров']); //В корзине 15 товаров

Использование падежей улучшает восприятие сайта пользователем. Применяйте эту функцию в своих проектах. Желаю удачи!

Полезная статья?
(Голосов: 1, Рейтинг: 3.3)
Курсы
IT-курсы от автора блога it-svalka.ru

Все курсы
Вам также могут понравиться
Переменные доступные в компоненте 1С Битрикс

Переменные доступные в компоненте 1С Битрикс

В статье разобран список доступных в компоненте 1С Битрикс переменных, позволяющих получить доступ к различным параметрам и методам компонента.

Пользовательское ограничение платёжных систем 1С Битрикс D7

Пользовательское ограничение платёжных систем 1С Битрикс D7

В статье рассмотрен пример создания собственного ограничения платёжных система 1С Битрикс.

Получение и установка значений SEO свойств элемента инфоблока

Получение и установка значений SEO свойств элемента инфоблока

В статье рассмотрена работа с SEO полями элементов инфоблока с помощью API Битрикса.


Комментарии
Защита от автоматических сообщений
CAPTCHA
Введите слово на картинке