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


Фотография
Добавлю я тоже небольшой вклад от себя. Я очень часто вижу сайты с текстом в виде: "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 Сообщения"

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

    • Количество пользователей, читающих эту тему: 1   0 пользователей, 1 гостей


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

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

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

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

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

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

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

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