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

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

Пользовательский тип свойств инфоблока в 1С Битрикс

В дополнение к статье о создании собственного типа пользовательских полей хочу рассказать как делать аналогичные свойства для информационных блоков, т.к. эти свойства относятся к другому модулю, а именно «информационные блоки» (iblock).

Условные операторы в PHP

Условные операторы в PHP

Добрались до логики выполнения программы. И так условные операторы (по другому операторы ветвления) позволяют нам организовать определённое поведение программы в зависимости от входных параметров (данных вводимых пользователем, результатом работы вспомогательных функций). Вся логика в языках программирования основана на Алгебре Буля. 

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

Самые читаемые

Тонкая настройка SEO для результатов фильтрации каталога битрикс

Тонкая настройка SEO для результатов фильтрации каталога битрикс

Одним из преимуществ интернет-магазинов на 1С Битрикс на мой взгляд является наличие не так давно до...

Основы SEO оптимизации сайта

Основы SEO оптимизации сайта

Эта статья не истина в последней инстанции, а лишь набор правил которые я применяю при создании/испр...

Собственный тип пользовательских полей в 1С Битрикс

Собственный тип пользовательских полей в 1С Битрикс

Для решения некоторых задач порой не хватает стандартного набора пользовательских полей поставляемых...