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

/**
 * Склонение слова после числа
 * @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 товаров

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

Полезная статья?
(Нет голосов)
Курсы от партнёров
Хотите освоить востребованную профессию? Воспользуйтесь предложениями от наших партнёров. Пройдите учебный курс по одному из популярных IT направлений.
Вам также могут понравиться
Создание заказа в 1С Битрикс D7

Создание заказа в 1С Битрикс D7

Рассмотрим пример создания произвольного заказа средствами ядра D7


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