Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как добавить склонения к числительным в php?

Как добавить склонения к числительным в php?


     23.03.2015    Все вопросы » Общие вопросы по PHP    1976

вопрос
имеется:
<body>
    
    Вчера:
    <?php echo($last["totals"]["visits"]);?> посещений,  
    
    
    <?php echo($last["totals"]["page_views"]);?> просмотров страниц.
    
</body>

нужно сделать правильные окончания в зависимости от числа, к примеру 1 посещение, 2 посещения, 10 посещений и т.д

Ответил: ПафНутиЙ


Используйте встроенную функцию склонения.
declination()

либо вот такой код:
<?php
/**
* Функция для установки правильного окончания слов
* @param int $n - число, для которого будет расчитано окончание
* @param string $words - варианты окончаний для (1 комментарий, 2 комментария, 100 комментариев)
* @return string - слово с правильным окончанием
*/
function declinationWorld($n = 0, $words) {
    $words = explode('|', $words);
    $n = intval($n);
    return $n % 10 == 1 && $n % 100 != 11 ? $words[0] . $words[1] : ($n % 10 >= 2 && $n % 10 <= 4 && ($n % 100 < 10 || $n % 100 >= 20) ? $words[0] . $words[2] : $words[0] . $words[3]);
}

// Пример работы
for ($total = 0; $total < 102; $total++) {
    echo 'Всего: ' . $total . ' ' . declinationWorld($total, 'комментари|й|я|ев') . '<br />';
}

1 комментарий

follor
Юзер

follor - 24 марта 2015 16:52 -

Спасибо.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх