10 декабря 2010

Склонение русских слов после числительных

Еще одна функция склонения. На этот раз - после чисел.

ответ год штукая
2-3-4 ответа года штуки
5-6-7-8-9-0 ответов лет штук

Синтаксис:
_chs('число', 'единица измерения'[единственное#множественное1#множественное2]);
Примеры:
_chs('243', 'тонна муки#тонны муки#тонн муки' );
243 тонны муки
_chs('41', 'штука#штуки#штук');
41 штука
_chs('38', 'год ожидания#года ожидания#лет ожидания');
38 лет ожидания
_chs('0.17', 'процент#процента#процентов')
0.17(ноль целых семнадцать сотых) процентов


function _chs($cifs, $ws) {
    $wsk=explode("3", $ws);
    $cifsk=str_split($cifs);
    $c=count($cifsk)-1; $cm=$c-1;
        if($cifsk[$cm]==1){echo $cifs." ".$wsk[2];}else{
            switch($cifsk[$c]) {
                case "1": echo $cifs." ".$wsk[0]; break;
                case $cifsk[$c]>=5 || "0": echo $cifs." ".$wsk[2]; break;
                case $cifsk[$c]<=4: echo $cifs." ".$wsk[1]; break;
            }
        }
}

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

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

Лучшие сообщения