Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Определение високосного года php

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
alexa77
Отправлено: 20 Декабря, 2016 - 12:47:42
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Нояб. 2016  


Помог: 0 раз(а)




Нужно создать форму и написать скрипт определяющий по нажатию на кнопку ОПРЕДЕЛИТЬ является ли введенный год високосным. Форму создала, написала скрипт, но он не работает

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function isleap( $year )
  3. {
  4.     if( $year % 4 == 0 )
  5.         # Год високосный
  6.        echo 'Год високосный';
  7.     else
  8.         # Год не високосный
  9.        echo 'Год не високосный';
  10. }
  11. echo isleap(2000);
  12. ?>
  13.  
 
 Top
OrmaJever Модератор
Отправлено: 20 Декабря, 2016 - 13:02:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)






-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Sail
Отправлено: 20 Декабря, 2016 - 15:25:44
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




alexa77, или, если считать самим:
Цитата:
...год является високосным в двух случаях:
либо он кратен 4, но при этом не кратен 100;
либо кратен 400
 
 Top
alexa77
Отправлено: 20 Декабря, 2016 - 20:48:45
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Нояб. 2016  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  <?PHP
  2. function isleap( $year )
  3. {
  4.     if( $year % 4)!= 0) {
  5.                 echo "Год не високосный";
  6.         }
  7.         else
  8.                 if ( $year % 100)!= 0) {
  9.                         echo "Год високосный";
  10.                 }
  11.                 else
  12.                         if ( $year % 400)!= 0) {
  13.                                 echo "Год не високосный";
  14.                         }
  15.                         else  echo "Год високосный";
  16. }
  17. if (isset($_GET['god'])){
  18.   $god=intval($_GET['god']);
  19.   echo isleap(2000);
  20. } else echo "Error";
  21. ?>
  22.  


Правильный?
 
 Top
Строитель
Отправлено: 20 Декабря, 2016 - 22:53:05
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




alexa77, скопируйте код целиком
Спойлер (Отобразить)
 
 Top
Sail
Отправлено: 21 Декабря, 2016 - 09:27:41
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




alexa77, проще так:
PHP:
скопировать код в буфер обмена
  1. if($year % 4 == 0 && $year % 100 != 0 || $year % 400 == 0) { /* some operator... */}

Но это лишь для Григорианского календаря. Для Юлианского - проще Улыбка
К тому-же системные функции иногда имеют особое мнение на тему високосности года...
Да и Excell от MS этим грешит (якобы для совместимости с давними табличными процессорами иных производителей... /lotus/)...
 
 Top
alexa77
Отправлено: 21 Декабря, 2016 - 12:15:29
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Нояб. 2016  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  function isLeap($year) {
  2.     return date('L', mktime(0, 0, 0, 1, 1, $year));
  3. }

Не могли бы вы пояснить как работает эта функция
 
 Top
Sail
Отправлено: 21 Декабря, 2016 - 15:24:48
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




alexa77 пишет:
PHP:
скопировать код в буфер обмена
  1.  function isLeap($year) {
  2.     return date('L', mktime(0, 0, 0, 1, 1, $year));
  3. }

Не могли бы вы пояснить как работает эта функция

Нет ничего проще: date — Форматирует вывод системной даты/времени
Ну и в довесок о функции mktime: mktime — Возвращает метку времени Unix для заданной даты.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB