Задать вопрос

Как реализовать склонения слов по падежам на Yii2?

Как лучше реализовать склонения слов по падежам на Yii2, что бы писалось найдено 2 вакансиИ , найдено 100 вакансиЙ, найдено 5 вакансиЙ, найдена 1 вакансиЯ и т.д...
  • Вопрос задан
  • 1795 просмотров
Подписаться 1 Простой Комментировать
Ответ пользователя Anton Mashletov К ответам на вопрос (4)
mashletov
@mashletov
Math.random()
Я раньше пользовался подобной функцией. Не знаю, насколько это плохо:

class Helper
{
    /**
     * Выбирает слово с правильными окончанием после числительного.
     *
     * @param int $number число
     * @param array $words варианты склонений ['яблоко', 'яблока', 'яблок']
     * @return string
     */
    public static function plural(int $number, array $words): string
    {
        return $words[($number % 100 > 4 && $number % 100 < 20) ? 2 : [2, 0, 1, 1, 1, 2][min($number % 10, 5)]];
    }
}

// echo "Загружено $count " . Helper::plural($count, ['запись', 'записи', 'записей'];
Ответ написан
Комментировать