Попытка сделать if, elseif, else утверждение о времени и времени приема пищи, используя формат военных часов - PullRequest
0 голосов
/ 07 февраля 2019

Например, всякий раз, когда я набираю число 12 или 16, оно не говорит: «Время обедать» или «Время обедать».Всегда будет написано: «Время завтрака»проблема, я думаю ..

    <?php

    $time = 4;

   if(($time >= 4) || ($time <= 11))
   {
   echo "It's time for breakfast";
   } 
   elseif(($time >= 12) || ($time <= 15))
   {
   echo "It's time for lunch";
   }
   else 
   {
   echo "It's time for dinner";
   }
   ?>

Я хочу, чтобы он запустился, поэтому, когда я сделаю 4 - 11 за $ время, это будет звучать так: «Время завтракать».Я хочу, чтобы с 12 до 15 по времени звучало «Время обеда».Все остальные цифры должны быть напечатаны. Время обедать.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Легко потеряться во многих if ifelse else условиях.Я бы хотел подумать о них простым способом - систематически думать о них, например, так:

$time = 4;

if ( $time >= 15 || $time < 4 ) {
    echo "It's time for dinner";
} elseif( $time >= 12 ) {
    echo "It's time for lunch";
} elseif ( $time >= 4 ) {
    echo "It's time for breakfast";
}
0 голосов
/ 07 февраля 2019

Вам нужно изменить свои условия.Прямо сейчас вы спрашиваете:

"Если время больше или равно 4 ИЛИ время меньше или равно 15 ..."

Это всегда будет верно, есливремя больше или равно 4 ИЛИ меньше или равно 15, поэтому else if никогда не будет достигнуто.Вы должны изменить на И, чтобы оба условия были выполнены, чтобы остаться в блоке if.

<?php

$time = 16;

if(($time >= 4) && ($time <= 11))
{
    echo "It's time for breakfast";
}
elseif(($time >= 12) && ($time <= 15))
{
    echo "It's time for lunch";
}
else
{
    echo "It's time for dinner";
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...