• Вход
  • Регистрация

Склоняем существительные в PHP


    Фотография
       (0 голосов)
    Данной теме более 240 дней, она устарела.
    Добавлю я тоже небольшой вклад от себя. Я очень часто вижу сайты с текстом в виде: "1 сообщения" или "47 сообщения". Разработчик и не думает о правильным окончанием существительного. Но ведь такой текст на сайте более похож на кусок **** . Покажу вам решение этой проблемы.
    Вот пример кода:
    function number_ending($number, $ending0, $ending1, $ending2) { $num100 = $number % 100; $num10 = $number % 10; if ($num100 >= 5 && $num100 <= 20) { return $ending0; } else if ($num10 == 0) { return $ending0; } else if ($num10 == 1) { return $ending1; } else if ($num10 >= 2 && $num10 <= 4) { return $ending2; } else if ($num10 >= 5 && $num10 <= 9) { return $ending0; } else { return $ending2; }
    }

    Пример использования:
    $n = 10;
    echo $n." ".number_ending($n, "Сообщений", "Сообщение", "Сообщения");
    // Вернет "10 Сообщений"
    $n = 21;
    echo $n." ".number_ending($n, "Сообщений", "Сообщение", "Сообщения");
    // Вернет "21 Сообщение"
    $n = 32;
    echo $n." ".number_ending($n, "Сообщений", "Сообщение", "Сообщения");
    // Вернет "32 Сообщения"

      Спасибо, еще не выражали.

      С момента последнего сообщения прошло более 60 дней.
      • Количество пользователей, читающих эту тему: 1   0 пользователей, 1 гостей


      Информация
      Посетители, находящиеся в группе Гости, не могут оставлять ответы в данном форуме.

      • АКТУАЛЬНАЯ ВЕРСИЯ 6.0.0

        Для бесплатной версии актуальная версия 3.0.

      • ДЕМО САЙТ: DEMO.EVOBB.RU

        Демо сайт форума версии 6.0.0.

      • Помощь проекту

          Собрано 529.00 рублей

          Вы можете пожертвовать небольшую сумму денег, которая поможет развитию форума EVObb и нашего ресурса.
      • Внесли свой вклад

        • Нет аватарки
          От archi: Пользователь не оставил комментария
        • Нет аватарки
          От compik: На развитие форума
        • Нет аватарки
          От Igor: Пользователь не оставил комментария
        • Нет аватарки
          От flour: Пользователь не оставил комментария
        • Нет аватарки
          От Олег Концов: Пользователь не оставил комментария
        • Нет аватарки
          От Олег Концов: Пользователь не оставил комментария
      • Изменения статуса

      • Самые активные