[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Год, года, лет
f-coder
Понадобилось вывести возраст пользователя. И в конце добавить год, года или лет.
К примеру: 22 года, 31 год, 55 лет.
т.е. имеется 3 значения, а заставить php разбираться в этих значениях не могу(

Делал даже так:

if ($vozrast == 1 or 21 or 31 or 41 ...)
{echo "ГОД";}

if ($vozrast == 0 or 5 or 6 or 7 or 8 or 9 or 10 ...)
{echo "ЛЕТ";}

if ($vozrast == 2 or 3 or 4 or 22 or 23 or 24 ...)
{echo "ГОДА";}

Выводит мне все 3 значения (ГОД ГОДА ЛЕТ)

Помогите плиз!!! Уже час парюсь перебираю все возможные варианты и не знаю даже как поисковой запрос составить по этой теме(год, года, лет) чтобы по гуглить biggrin.gif





Спустя 4 минуты (19.04.2011 - 20:19) neadekvat написал(а):
/**
* Правильно склоняем слово
*
*
@param int количество единиц, которые надо просклонять
*
@param string единственное число (одна единица)
*
@param string множественное число (две единицы)
*
@param string множественное число (пять единиц)
*
*
@return string верная форма
*/

function plural_form($n, $form1, $form2, $form5)
{
$n = abs($n) % 100;
$n1 = $n % 10;
if ($n > 10 && $n < 20) return $form5;
if ($n1 > 1 && $n1 < 5) return $form2;
if ($n1 == 1) return $form1;
return $form5;
}

$years = 1;
echo $years .' '. plural_form($years, 'год', 'года', 'лет');

Спустя 32 секунды (19.04.2011 - 20:19) waldicom написал(а):
брать последнюю цифру и делать switch по ней

Спустя 21 секунда (19.04.2011 - 20:20) inpost написал(а):
if(21) === true всегда!
Проверка как минимум $var == 1 OR $var == 2 or $var == 3)

Спустя 4 минуты, 34 секунды (19.04.2011 - 20:24) f-coder написал(а):
Огромное спасибо!!! Работает!!!

Спустя 6 минут, 4 секунды (19.04.2011 - 20:30) neadekvat написал(а):
/**
* Правильно склоняем слово
*
*
@param int количество единиц, которые надо просклонять
*
@param string единственное число (одна единица)
*
@param string множественное число (две единицы)
*
@param string множественное число (пять единиц)
*
*
@return string верная форма
*/

function plural_form($n, $form1, $form2, $form5)
{
$n = abs($n) % 100;
$n1 = $n % 10;
if ($n > 10 && $n < 20) return $form5;
if ($n1 > 1 && $n1 < 5) return $form2;
if ($n1 == 1) return $form1;
return $form5;
}

$years = 1;
echo $years .' '. plural_form($years, 'год', 'года', 'лет');

Спустя 16 минут, 29 секунд (19.04.2011 - 20:47) Dr.Mars написал(а):
модуль к смарти

<?php
function
smarty_modifier_strend($num, $endings = '')
{
list($s1,$s2,$s3) = explode(',', $endings);
$num = abs($num);
$num = $num % 100;

if (($num > 4) && ($num < 21)) {
return $s3;
}
$num = $num % 10;
if (($num == 0) || ($num > 4)) {
return $s3;
}
if ($num == 1) {
return $s1;
}

return $s2;
}


{$count} яблок{$count|strend:"о,а,"}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.