№2
Склонение числительных в русском языке
<?php
function decl_int($number, $titles){
$cases = array(2, 0, 1, 1, 1, 2);
return sprintf($titles[($number%100>4 && $number%100<20) ?
2 :
$cases[min($number%10, 5)]],
$number);
}
foreach(array(0, 1, 2, 5) as $v)
echo decl_int($v, array('%s пользователь',
'%s пользователя',
'%s пользователей'))."\n";
0 пользователей
1 пользователь
2 пользователя
5 пользователей
Источник:
forum.woweb.ru
forum.woweb.ru