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

Новости

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

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

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

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

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

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

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

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

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

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

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

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

Популярное

rss