日期& if else声明PHP

时间:2012-09-27 15:40:06

标签: php date time

我正在研究一些似乎在逻辑上工作的PHP代码

$tod = date("G");
if($tod >= 5 && $tod <= 11)      { $work = "Morning's"; }
elseif($tod >= 12 && $tod <= 17) { $work = "Afternoon's"; }
else                               $work = "Evening's";

$dw = date( "l");

if($work = "Morning's")       { $pre = "Morning"; }
elseif($work = "Afternoon's") { $pre = "Afternoon"; }
else                            $pre = "Evening";

出于某种原因,如果我在回显$ work时尝试将$ tod变量增加或设置为每个范围内的某个变量,它总会返回&#34; Morning&#34;无论$ tod被设置为什么。我的if..elseif..else语句有问题吗?加载页面时,我没有收到任何错误。

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

如果

,请尝试忘记“=”
  $tod = date("G");
    if($tod >= 5 && $tod <= 11) {$work = "Morning's";}
    elseif($tod >= 12 && $tod <= 17) {$work = "Afternoon's";}
    else $work = "Evening's";
    $dw = date( "l");
    if($work == "Morning's"){$pre = "Morning";}
    elseif($work == "Afternoon's"){$pre = "Afternoon";}
    else $pre = "Evening";

答案 1 :(得分:0)

只是为了缩短那个(并纠正拼写:Plural是w / o '):

$pre = "Evening";
in_array( date( "G" ), range( 5, 11 ) )  AND $pre  = "Morning";
in_array( date( "G" ), range( 12, 17 ) ) AND $pre = "Afternoon";
$work = "{$pre}s";