Exercícios na Apostila de PHP
Algoritmo do Ano Bissexto em PHP
Normalmente, temos 365 dias no ano, onde o mês de fevereiro possui 28 dias.Porém, a cada 4 anos adicionamos um dia extra, tendo fevereiro 29 dias e o ano 366 dias.
Existem uma lógica, um algoritmo, para saber se um ano vai ser bissexto ou não.
O algoritmo é o seguinte:
Todo ano múltiplo de 400, é sempre bissexto.
Exemplo: 2000, 1600, 1200, etc
OU:
Os anos múltiplos de 4 são bissextos, exceto se forem múltiplos de 100 e não forem de 400.
Exemplo: 1996, 2000, 2004, 2008, 2012, 2016 etc
Script em PHP: Ano Bissexto
Múltiplo de 400:
$ano % 400 == 0: Retorna TRUE
OU
Múltiplo de 4, exceto de 100:
($ano % 4 == 0 && $ano % 100 != 0 ): Retorna TRUE se for
Ou seja, se a expressão a primeira expressão acima for verdade OU a segunda, o ano é bissexto. Se não for TRUE, não será bissexto.
Nosso código HTML + PHP fica:
<html> <head> <title>Apostila PHP Progressivo</title> </head> <body> <form action="" method="get"> Ano: <input type="number" name="year" /><br /> <input type="submit" name="submit" value="Testar" /> </form> <?php $ano = $_GET['year']; if ( ($ano%4==0 && $ano%100!=0) || $ano%400 == 0) echo "$ano é bissexto"; else echo "$ano não é bissexto"; ?> </body> </html>
Script em PHP: Usando o PHP para identificar anos bissextos
O PHP nativo já possui diveeeersas funções e coisas feitas, prontas pra você simplesmente usar.No caso, vamos usar a função date() ,que tem várias funcionalidades para trabalharmos com datas.
Não se preocupe, iremos estudar as datas mais adiante em nosso curso.
Script:
<html> <head> <title>Apostila PHP Progressivo</title> </head> <body> <form action="" method="get"> Ano: <input type="number" name="year" /><br /> <input type="submit" name="submit" value="Testar" /> </form> <?php $ano = $_GET['year']; $leap = date('L', mktime(0, 0, 0, 1, 1, $ano)); if ($leap) echo "$ano é bissexto"; else echo "$ano não é bissexto"; ?> </body> </html>