Desafios 3.8

206 views
Skip to first unread message

Davi Almeida

unread,
Sep 14, 2014, 11:40:11 AM9/14/14
to phpemysqlc...@googlegroups.com
Estou em dúvida, como faço para exibir a saudação, o máximo que consegui foi isso:
<?php
        $saudacao = date('H');
        if ($saudacao < 12) {
            echo 'Bom dia';
        } else {
            echo 'Boa tarde, são ' . date('H:i:s');
        }
 ?>

Evaldo Junior

unread,
Sep 17, 2014, 9:02:28 AM9/17/14
to Davi Almeida, phpemysqlc...@googlegroups.com
Olá, Davi.

Você pode fazer algo assim (não está em PHP, coloquei apenas uma lógica):

hora = date('H')
if hora < 12 {
    "bom dia"
} else if hora < 18 {
    "boa tarde"
} else {
    "boa noite"
}

Abraços e bons estudos

Evaldo Junior
Site: http://evaldojunior.com.br
Twitter: @InFog9

--
Você recebeu essa mensagem porque está inscrito no grupo quot;Livro PHP e MySQL - Casa do Código" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpemysqlcasadoc...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Victor Almeida

unread,
Nov 25, 2014, 8:52:53 PM11/25/14
to phpemysqlc...@googlegroups.com
Criei uma solução um pouquinho diferente:

$agora = date("G"); //Exibe a hora de 0 até 23
  if ($agora >= 1 && $agora <= 12){
    echo "Bom dia !! <br /><br />";
  }else if ($agora >= 13 && $agora < 18){
    echo "Boa tarde !! <br /><br />";
  }else {
    echo "Boa noite !! <br /><br />";
  }

Evaldo Junior

unread,
Dec 7, 2014, 3:52:59 PM12/7/14
to phpemysqlc...@googlegroups.com
Olá, Victor!

Sua solução ficou bacana. Agora, podemos fazer algumas coisas para melhorar e deixar mais limpo.
E se fosse assim:

$agora = date('G');
$saudacao = "Boa noite!";

if ($agora < 12) {
  $saudacao = "Bom dia!";
} elseif ($agora < 18) {
  $saudacao = "Boa tarde!";
}

echo $saudacao . "<br /><br />";

Pronto, repare que já deixei a saudação como "Boa noite!", assim nos poupa de um if a mais.
Veja que no primeiro if ele já pega tudo que é menor que doze.
E no elseif ele pela de 13 a 17.
O resto fica como boa noite mesmo :)

Entendeu as lógicas?

É tipo assim:

$usuario_aceitou_os_termos = false;
if ($_POST['termos']) {
  $usuario_aceitou_os_termos = true;
}

Veja que não precisa do else, já que já definimos o padrão antes do if.

Abraços

--
Você recebeu essa mensagem porque está inscrito no grupo "Livro PHP e MySQL - Casa do Código" dos Grupos do Google.
Message has been deleted

Amom Mendes

unread,
Jul 9, 2015, 5:32:59 PM7/9/15
to phpemysqlc...@googlegroups.com
Olá!

Dessa forma seria uma boa prática também???

<?php
if (date('A')== "AM"){
                                       echo "Bom dia";
} elseif (date ('A') =="PM" && date ('H')<18) {
echo "Boa tarde!";}
                   else {echo "Boa noite!";}
?>


Muito obrigado!

Amom

Evaldo Junior

unread,
Jul 13, 2015, 2:00:31 PM7/13/15
to phpemysqlc...@googlegroups.com
Olá, Amon!

É uma forma. É um pouco confusa, mas funciona :)

Abracos

João Oliveira

unread,
Aug 8, 2017, 2:57:10 PM8/8/17
to Livro PHP e MySQL - Casa do Código
Essa seria uma boa maneira de resolver:

    <?php
$hora = date('H');
if($hora<12 && $hora>6){
  echo "Bom dia";
}if($hora<18){
  echo "Boa tarde";
}else{
  echo "Boa noite";
}
     ?>

Reply all
Reply to author
Forward
0 new messages