<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру 2.0

PHP и MySQL с Нуля до Гуру 2.0

Данный курс научит Вас программировать на самом популярном Web-языке в мире - PHP. Курс состоит из 11 разделов, в которых с нуля рассказывается и показывается процесс написания различных скриптов на PHP.

В курсе Вы узнаете всю необходимую теоретическую часть, а также увидите массу практических примеров, в том числе, и из моей практики.

Почти к каждому уроку идут упражнения.

Просмотрев данный курс, Вы сможете создавать абсолютно любые PHP-сайты любой сложности.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Как узнать возраст по дате рождения в PHP

Как узнать возраст по дате рождения в PHP

Не так давно мне на e-mail прислали письмо с просьбой написать скрипт, который узнаёт возраст по дате рождения в PHP. Скрипт очень простой, поэтому я быстро его написал и отправил, но я решил опубликовать его ещё и здесь. Возможно, кому-то он будет также полезен.

Как узнать возраст по дате рождения в PHP? Входные параметры: число, месяц и год рождения. Выходные параметры: возраст.

<?php
  function getAge($y, $m, $d) {
    if($m > date('m') || $m == date('m') && $d > date('d'))
      return (date('Y') - $y - 1);
    else
      return (date('Y') - $y);
  }
?>

Немного прокомментирую данный код. Функция date() возвращает текущую дату (если не указан второй параметр, а в нашем примере только один параметр). Итак, мы проверяем: был ли в текущем году у человека день рождения?. Если ещё дня рождения в этом году не было, значит, из текущего года вычитаем год рождения и ещё 1. Если же день рождения уже был (или он сегодня), то просто из текущего года вычитаем год рождения.

Вот такой простой и полезный скрипт. Пользуйтесь!

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (7):

sync.o sync.o 17.06.2011 09:43:07

Там по-моему надо поставить знак "больше": $d > date('d'). И потом, не нужно ли второе условие взять в дополнительные скобки?

Ответить

Admin Admin 17.06.2011 14:07:35

Нет, условие написано правильно. То есть если месяц рождения больше текущего (ещё не было дня рождения) или месяц рождения совпадает с текущим, но при этом число рождения меньше (!) текущего, то значит надо вычесть ещё 1.

Ответить

sync.o sync.o 17.06.2011 21:15:05

Хе, ну тогда получается, что если я родился например 16.06.1990, то мне сегодня (17-го числа) все еще пока 20 лет, а если родился 18.06.1990, то сегодня мне 21, а день рождения-то только завтра! Врет система, надо наоборот. Если число рождения БОЛЬШЕ текущего, то дня рождения еще не было.

Ответить

Admin Admin 17.06.2011 21:25:07

Да, действительно. Не доглядел, самое интересное, что скопировал правильный вариант, а когда заменял > на &gt; случайно написал &lt;, а потом уже поверил, что так правильно. Большое спасибо за внимательность!

Ответить

Alim_(I) Alim_(I) 18.06.2011 20:36:48

А как сделать событие какое-нибудь, ну например: у пользователя день рождения 20 апреля, и на главной странице, или еще какой-нибудь, в этот же день объявили это, или как хотя бы сообщить администратору(себе), что у какого-то пользователя день рождения?

Ответить

Admin Admin 18.06.2011 20:39:32

Можно создать скрипт, который запускать раз в сутки через cron. В этом скрипте проверять, у кого день рождения, а потом отправлять им поздравления или уведомления администратору.

Ответить

Vladislav Vladislav 07.04.2014 22:58:39

Здравствуйте,у меня к вам маленький вопросик,я себе на сайт все скопировал,поставил свои переменные,а оно не работает,подскажите пожалуйста в чем причина!?

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.