множественное число

Главные вкладки

Аватар пользователя tolikfantom tolikfantom 15 июня 2010 в 16:58

как сделать ,чтобы множественные числа изменялись?
стандартными средствами переводятся только три :0(к примеру 0 пользователей ,0 комментариев,0 гостей ,0 часов ,0 минут - переменная count ),единственное число (к примеру 1 пользователь ,1 комментарий,1 гость ,1 час ,1 минута ),и множественное число (к примеру х пользователей ,х комментариев,х гостей ,х часов ,х минут - переменная count[2])
как множественное число count[2] разделить на 2 типа : 1 - 2,3,4,22,24 и т.д. пользователя ,гостя ,комментария ,часа ,минуты ; 2 - 5,6,7,8,10,25,27 и т.д. пользователей , комментариев, гостей , часов , минут ?????

Комментарии

Аватар пользователя alextdk alextdk 15 июня 2010 в 17:08
<?php
function getDeclension($digit$forms) {
    
$remainder = (int)$digit;

    if (

$remainder 20) {
        
$remainder %= 10;
    }

    if (

$remainder == 1) {
        
$form $forms[0];
    } elseif (
$remainder && $remainder 5) {
        
$form $forms[1];
    } else {
        
$form $forms[2];
    }

    return 

$digit." ".$form;
}

echo 

getDeclension($cartData['productCount'], array('игрушка','игрушки','игрушек'));
?>
Аватар пользователя tolikfantom tolikfantom 15 июня 2010 в 21:13

Опубликовано lamer в вт, 15/06/2010 - 13:08.

<?php
function getDeclension($digit, $forms) {
$remainder = (int)$digit;

if ($remainder > 20) {
$remainder %= 10;
}

if ($remainder == 1) {
$form = $forms[0];
} elseif ($remainder > 1 && $remainder < 5) {
$form = $forms[1];
} else {
$form = $forms[2];
}

return $digit." ".$form;
}

echo getDeclension($cartData['productCount'], array('игрушка','игрушки','игрушек'));
?>

где этот код прописать