К примеру: 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 значения (ГОД ГОДА ЛЕТ)
Помогите плиз!!! Уже час парюсь перебираю все возможные варианты и не знаю даже как поисковой запрос составить по этой теме(год, года, лет) чтобы по гуглить
Спустя 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)
Проверка как минимум $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:"о,а,"}