Пишем возраст пользователя на PHP
Как правильно и грамотно написать возраст пользователя на PHP? Например, Сергей, 23 года или Вася, 18 лет. Это не такая уж и простая задача, как может показаться на первый взгляд.
Мне для проекта "Исполни Мечту" понадобилось выводить возраст автора мечты в красивом виде: Сергей, 23 года. Можно было и обойти хитростью и написать что-то типа: Сергей, возраст:23. Но это как-то не солидно и чувствуется "техническая сухость" языка. И я решил выводить возраст "правильно". Как вы знаете от количества лет зависит и слово (лет, год или года), потому что 25 лет, 21 год и т.д. Думал сейчас быстренько в интернете найду такую функцию и все будет ок. Но на мое удивление я не нашел такой функции ни в одном примере.
Я Вооружился ручкой и бумагой, немного времени и закономерность найдена. Функция готова. Мне нужно было писать возраст до 100 лет. Так что для этого возраста функция работает :) я проверял. Пример работы данной функции и исходный код можно посмотреть тут: http://www.ispolnimechtu.ru/promoway/text_age.php
По моим предположениям, она должна работать для любого количества лет.
Вот функция:
function AgeToStr($Age)
{
if(($Age>=5) && ($Age<=14)) $str = "лет";
else {
$num = $Age - (floor($Age/10)*10);
if($num == 1) { $str = "год"; }
elseif($num == 0) { $str = "лет"; }
elseif(($num>=2) && ($num<=4)) { $str = "года"; }
elseif(($num>=5) && ($num<=9)) { $str = "лет"; }
}
return $Age . " " . $str ;
}
Надеюсь вам она пригодиться...
Источник: http://promoway.blogspot.com/ Пример как работает эта функция: http://www.ispolnimechtu.ru/ (смотрите возраст после автора)