Boss |
|
---|---|
Что-нибудь типа:
function declension($digit,$expr,$onlyword=false)
{
if(is_array($expr))
{
if(empty($expr[2])) $expr[2]=$expr[1];
$i=preg_replace('/[^0-9]+/s','',$digit)%100; //intval не всегда корректно работает
if($onlyword) $digit='';
if($i>=5 && $i<=20) $res=$digit.' '.$expr[2];
else
{
$i%=10;
if($i==1) $res=$digit.' '.$expr[0];
elseif($i>=2 && $i<=4) $res=$digit.' '.$expr[1];
else $res=$digit.' '.$expr[2];
}
}
else
{
$res = $digit.' '.$expr;
}
return trim($res);
}
|