bakor.info

Склонение множественного числа слова на PHP

Опубликовано: 01.09.2018

видео Склонение множественного числа слова на PHP

Учите итальянский слова | Урок Прилагательных | Количественные Прилагательные

Передо мной встала такая задача, когда я занимался интернет-магазином Blue Jay и мне требовалось вывести общее количество товаров в категориях. Мне очень хотелось решить поставленную задачу качественно, то есть, чтобы выводилось «1 товар», «2 товарА», «5 товарОВ», а не «1 товаров» и «2 товаров».


Количественные и порядковые числительные в английском языке

Да уж, тут англичанам хорошо, у них если один товар, то «product», а если не один, то «products». В русском же языке есть три формы множественного числа, да ещё и слово постоянно склоняется в зависимости от чисел, которые стоят перед ним.

Поэтому передо мной встал выбор — либо вообще избавиться от надписи с общим числом товаров, либо как-то упростить её, либо добавить функцию, которая будет склонять слова — на третьем варианте я и остановился:

/* * $num число, от которого будет зависеть форма слова * $form_for_1 первая форма слова, например Товар * $form_for_2 вторая форма слова - Товара * $form_for_5 третья форма множественного числа слова - Товаров */ function true_wordform ( $num , $form_for_1 , $form_for_2 , $form_for_5 ) { $num = abs ( $num ) % 100 ; // берем число по модулю и сбрасываем сотни (делим на 100, а остаток присваиваем переменной $num) $num_x = $num % 10 ; // сбрасываем десятки и записываем в новую переменную if ( $num > 10 && $num < 20 ) // если число принадлежит отрезку [11;19] return $form_for_5 ; if ( $num_x > 1 && $num_x < 5 ) // иначе если число оканчивается на 2,3,4 return $form_for_2 ; if ( $num_x == 1 ) // иначе если оканчивается на 1 return $form_for_1 ; return $form_for_5 ; }

Если вы хотите использовать эту функцию в WordPress, то можете вставить её в файл functions.php — вы можете найти его в папке с темой.

Всё довольно просто. Теперь, когда я расписал, как это работает, приведу пример:

$max_product = 5 ; // число, эта переменная может задаваться через какую-то другую функцию или доставаться из базы - неважно echo $max_product . ' ' . true_wordform ( $max_product , 'товар' , 'товара' , 'товаров' ) ; // в результате получится "5 товаров"

Читайте также о том, как реализовать склонение слов на JavaScript .

Смотрите также

Чтение RSS

Новости

    Где купить рассеиватель для вспышки

    Я люблю работать с качественной техникой, именно поэтому мои фото всегда шикарны, у меня много высокооплачиваемых заказов! Часто покупаю для фотоаппарата всевозможные устройства, пробую, выбираю и

    Где купить чехол на айфон

    Просто обожаю свой телефон. А как можно его не любить, если он мне заменил всё - и навигатор, и камеру, и нетбук, и регистратор, и шагометр, и электронную книгу, и фоторамку. Это уже не говоря об смсках,

    Производство кранов Киев
    По данным исследований стало известно, что ванная комната – это то место, в котором современный человек может полностью расслабиться и набраться сил. Ванная комната и туалет в каждом доме – это самые

    Где заказать дом из дерева
    Пожалуй, иметь собственный частный дом - это мечта большинства людей. Ведь действительно, собственный дом - это то, что делает человека уже состоявшимся в жизни, что обеспечивает гарантию и уверенность

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

    Запчасти т-40
    Растет и ширится процесс внедрения передовых технологий во всех областях областях народного хозяйства, в том числе и в отечественном сельском хозяйстве. В этой связи возникает высокая потребность в специальной

    Бетон с доставкой
    Взять в аренду строительную технику больше выгодно небольшим организациям или частным лицам, которые занимаются ремонтом периодически. Иметь в личном парке всю спецтехнику неоправданно, так как продолжительные

    Каркасные дома своими руками
    Быстровозводимые дома презентабельны тем, что при готовом фундаменте поставить сам дом можно очень стремительно.  Например, постройка каркасного дома своими руками, силами 2-ух человек,  возможна в месяц

    Как написать заявление в жэк на ремонт крыши
    C приходом холодов становятся все более животрепещущими вопросы устранения проблем в жилье. Нередко предпосылкой суровых заморочек в доме может стать протекающая крыша. Кто же несет ответственность за

    Фасадные панели под кирпич цена
    Фасад из кирпича можно назвать универсальной классикой: он одинаково хорош и в городской застройке, и в малоэтажном загородном посёлке. Этот материал всегда выглядит добротно и надёжно, но отнюдь не скучно:

Популярное

rss