PHP Функция для установки правильного окончания слов

Все блоги / DLE движок для сайтов 2 сентября 2013 0   
Недавно понадобилась такая функция, после поисков выяснилось, что готовых решений не так уж и много.
В итоге Sander подсказал вот такую штуку:
/**
* Функция для установки правильного окончания слов
* @param int $n - число, для которого будет расчитано окончание
* @param string $words - варианты окончаний для (1 комментарий, 2 комментария, 100 комментариев)
* @return string - слово с правильным окончанием
*/
function wordsSpan($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.' '.wordsSpan($total,'комментари|й|я|ев').'<br />';
}

// Вариант с подключением в DLE
// {include file="engine/modules/wordspan.php?n=7&words=комментари|й|я|ев"}


 Источник:dle-faq.pro, DLE

Похожие публикации

@
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent

Архив публикаций