пятница, 18 октября 2019 г.

Склонение слов в зависимости от числа, русский язык

Моя версия php функции. Одна из самых компактных! :)

function word_variation_rus($chislo, $mnogo, $odin, $dva) {
    // @author Alexey Gnevyshev
    $ost_10 = $chislo%10;
    if ($ost_10 == 0 || $ost_10 >= 5 || in_array($chislo%100, range(11,19))) $string_txt = "$chislo $mnogo";
    else {
        if ($ost_10 == 1) $string_txt = "$chislo $odin";
        else if (in_array($ost_10, range(2,4))) $string_txt = "$chislo $dva";
    }
    return $string_txt;
}
Пример использования:

$chislo = 2; // например
echo word_variation_rus($chislo, 'дней', 'день', 'дня');
// выведет: 2 дня

Комментариев нет:

Отправить комментарий