Склонение слов
Здравствуйте, есть код.
<?php
if (!defined('DATALIFEENGINE')) {
die('Доступ ограничен!');
}
$allcount = dle_cache('news_count');
if(empty($allcount)){
$allcount = $db->super_query("SELECT count(*) as c FROM ".PREFIX."_post WHERE approve");
$allcount = $allcount['c'];
create_cache('news_count',$allcount);
}
function declOfNumallcount($numcount, $titlescount) {
$casescount = array (2, 0, 1, 1, 1, 2);
return $numcount." ".$titlescount[($numcount%100>4 && $numcount%100<20)? 2 : $casescount[min($numcount%10, 5)]];
}
echo declOfNumallcount('<span>'.$allcount.'</span>', array('<font>материал</font>', '<font>материала</font>', '<font>материалов</font>'));
?>
Может, что не так сделал, но при значении 122 он выводит слово материалов.
Источник: Stack Overflow на русском