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

Новости

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

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

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

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

    Ручка сваровски
    Отдельный пост хочу посвятить кристаллам фирмы « Сваровски» . Сейчас они широко известны и используются как в бижутерии так и в сочетании с драгоценными металлами  в элитных ювелирных изделиях.

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

    Продажа пиявок
    Сегодня медицина идет вперед семимильными шагами, расширяя знания и практическую базу с каждым днем. При этом отдельные методы терапии остаются неизменными на протяжении сотен лет. Одним из таких подходов

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

    Металлические двери
    Металлические входные двери сегодня очень востребованы. А где есть спрос, там и предложение. Решив установить такую дверь, потребитель сталкивается с довольно сложным выбором: какую дверь выбрать и какой

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

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

    Ремонт стиральных машин
    Ручной режим настроек фотоаппарата (Режим М) часто вызывает у начинающего фотографа благоговение и лёгкую панику : о) В самом деле, если в автоматических и даже в полуавтоматических режимах настройки

Популярное

rss