除了星期三下午3点到中部标准时间之外,我每天都要尝试显示一个div。同一个星期三的午夜或晚上11:59。以下是我到目前为止无法使用的代码?这是我第一次使用if date函数,所以这对我来说都是新手。
<?php
if (date('w') == '1' | == '2' | == '4' | == '5' | == '6' | == '0') {
//info to show Mon, Tue, Thur, Fri, Sat, Sun all day.
}
else if (date('w') == 3){
if (date('H') >= 15 && date('H') < 0) {
//Content to show on Wednesday from 3pm to midnight
}
}
?>
答案 0 :(得分:3)
|
是按位运算符。 ||
是逻辑OR运算符。
此外,这是您想要的更有效的版本:
if (date('w') == 3) {
if (date('H') >= 15) {
//Content to show on Wednesday from 3pm to midnight
}
} else {
//info to show Mon, Tue, Thur, Fri, Sat, Sun all day.
}
答案 1 :(得分:2)
你的if比较在每种情况下需要日期变量,更好的想法可能是使用临时数组来检查:
if(in_array(date('w'), array(0, 1, 2, 4, 5, 6))) {
// info to show except Wed
} else {
// w is 3
if(date('H') >= 15) {
// Content to show on Wed from 3pm to midnight
}
}
注意:
答案 2 :(得分:1)
您与不同值进行比较的语法都是错误的。您必须重复比较,并将它们与布尔or
运算符||
$w = date('w');
if ($w == 1 || $w == 2 || $w == 4 || $w == 5 || $w == 6 || $w == 0) {
//info to show Mon, Tue, Thur, Fri, Sat, Sun all day.
} else if ($w == 3 && date('H') >= 15) {
//Content to show on Wednesday from 3pm to midnight
}
当然,您也可以将第一个条件简化为if ($w != 3)
。
你的测试date('H') < 0
永远不会成真 - 时钟上没有负面的时间。我想你的意思是< 24
,但这是不必要的,因为所有时间都不到24小时。
答案 3 :(得分:0)
我能看到的三件事情都不正确:
| ==
应为|| ==
,但我已简化为单if
声明,因为您似乎只想知道它是否在星期三下午3点之后。>= 15 && <0
- 所以这永远不会成真。date()
函数返回一个字符串,你正在与一个整数== 3
进行比较(PHP可能会很好地处理类型但是我已经在一个intval()中抛出了一个带子和括号方法)。试试这个:
<?php
if (intval(date('w')) == 3 && intval(date('H')) >= 15) {
// it's after 3pm on a Wed...
}
?>