Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 1948 Просмотров
*

7Rei

  • Захожу иногда
  • 134
  • 20 / 0
Добрый день.
Требуется подсчитать сколько дней остается до события.
Сами дни посчитал, но столкнулся с проблемой их вывода.
Сначала написал так:

Код: php
if ($ostalos == 1):
echo $ostalos." день";
endif;

хотел аналогично прописать для 2,3,4 (дня) и всех других чисел >= 5 (дней).
Но, например есть числа 21 день, 71 день, 32 дня, 63 дня...
Как правильно это сделать средствамим php?


Спасибо.
« Последнее редактирование: 21.07.2009, 19:00:49 от smart »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Для начала надо заметить, что никакого отношения к синтаксису ваш вопрос не имеет. Кроме того, к названию дней ваш вопрос также никакого отношения не имеет. И в-третьих, данный вопрос никакого отношения к Joomla 1.5 не имеет, это еще одно нарушение правил форума - публикация вопроса вне тематического раздела. Но что вы хотите, в принципе понятно... В этот раз отвечу, в следующий - уже не буду, а просто удалю.

Код: php
<?php
// число
$n = 25;
// для русского языка необходимо 3 формы
$pluralForms = array('день', 'дня', 'дней');
// вычисляем, какую именно из трех форм использовать
$idx = ($n%10==1 && $n%100!=11 ? 0 : ($n%10>=2 && $n%10<=4 && ($n%100<10 || $n%100>=20) ? 1 : 2));
// непосредственно отображение (данный пример выведет текст: 25 дней)
echo $n . ' ' . $pluralForms[$idx];
?>

Полный список правил для различных языков можно найти тут: Plural Forms.
« Последнее редактирование: 21.07.2009, 19:09:20 от smart »
*

7Rei

  • Захожу иногда
  • 134
  • 20 / 0
это нарушение правил форума - публикация вопроса вне тематического раздела. Но что вы хотите, в принципе понятно... В этот раз отвечу, в следующий - уже не буду, а просто удалю.
Спасибо большое за понимание и помощь неведающим! Свои ошибки понял, исправлюсь :)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться