PHP

Функция для определения окончания слова по числительному (1 день, 2 дня, 5 дней)

/**
 * Функция для определения окончания слова по числительному (1 день, 2 дня, 5 дней)
 *
 * @param $num - число integer
 * @param $words - массив с 3-мя словами
 * @return mixed
 */
function num2word($num, $words)
{
    $num = $num % 100;
    if ($num > 19) {
        $num = $num % 10;
    }
    switch ($num) {
        case 1: {
            return($words[0]);
        }
        case 2: case 3: case 4: {
        return($words[1]);
    }
        default: {
            return($words[2]);
        }
    }
}
echo num2word($days, array('день', 'дня', 'дней'));
PHP

Leave a reply