2017-01-11 1 views
-2

나는 문장을 생성하는 php를 생성 할 시간이 무엇인지에 따라 달라집니다. 시간이 5 인 경우 - 8, "좋은 아침"에코 등등 ...php - IF - ELSEIF- ELSE

여기에 내 코드

 <?php 
    if (date('G') <= 5 - 8) 
    { 
    echo "Morning"; 
    } 
    elseif (date('G') = 9 - 12) { 
    echo "LOREM"; 
    } 
    elseif (date('G') = 12) { 
    echo "LOREM"; 
    } 
    elseif (date('G') = 12 - 17) { 
    echo "LOREM"; 
    } 
    elseif (date('G') = 17 - 19) { 
    echo "LOREM"; 
    } 

    else (date('G') >= 20) { 
    echo "NIGHT"; 
    } 

    ?> 

이 _ 잘못 무엇입니까?

+0

왜 당신이 뭔가 잘못 생각하십니까? 코드가 예상 한 결과를 산출하지 못합니까? 오류가 있습니까? [ask]를 읽으십시오. –

+1

'5 - 8 = -3' BTW ... – AbraCadaver

+0

else (date ('G')> = 20)'은 구문 오류입니다. 다른 조건은 없습니다. –

답변

1

5-8은 "5에서 8"이 아니며 "5 마이너스 8"입니다. -은 빼기를 의미합니다. PHP에는 "through"연산자가 없습니다.

내 견해에 모순 된 진술을 사용했기 때문에 내 것이 완벽하게 일치하지는 않지만 올바른 방향을 제시해야합니다.

$hour= date('G'); 
if ($hour >= 5 && $hour <= 8) { 
    echo "Morning"; 
} elseif ($hour >= 9 && $hour < 12) { 
    echo "LOREM"; 
} elseif ($hour == 12) { 
    echo "LOREM"; 
} elseif ($hour > 12 && $hour < 17) { 
    echo "LOREM"; 
} elseif ($hour >= 17 && $hour <= 19) { 
    echo "LOREM"; 
} elseif ($hour >= 20) { 
    echo "NIGHT"; 
} 
+0

두 번째 elseif에 있어야합니다 : $ hour == 12 – Callixor

+0

@Callixor 감사합니다. 나는 그것을 놓쳤다. 원래 코드를 수정하는 대신 처음부터이 코드를 작성해야합니다. –

0

사용 :

<?php 
if (date('G') >= 5 && date('G') <= 8) 
{ 
echo "Morning"; 
} 
elseif (date('G') >= 9 && date('G') <= 11) 
{ 
echo "LOREM"; 
} 
elseif (date('G') == 12) 
{ 
echo "LOREM"; 
} 
elseif (date('G') >= 13 && date('G') <= 16) 
{ 
echo "LOREM"; 
} 
elseif (date('G') >= 17 && date('G') <= 19) 
{ 
echo "LOREM"; 
} 
elseif (date('G') >= 20) 
{ 
echo "NIGHT"; 
} 
?> 
+0

값을 가져올 때마다'date()'를 호출해야합니다. 비효율적입니다. 한 번 호출하고 값을 변수에 저장하십시오. –

+0

좋아요, 당신 말이 맞아요. 그것은 그를위한 예일 뿐이지 만 우리는 조금 더 빠릅니다. ;) – Callixor