为什么这个php语句不起作用?
我试图抓住这个月,如果某个月(为什么这个php语句不起作用?,php,logical-operators,Php,Logical Operators,我试图抓住这个月,如果某个月(11或12)echo什么的话。为什么 这项工作: if ( date("m") == '11' ) echo 'asdf' 这并不是: if ( date("m") == '11' || '12' ) echo 'asfd' 正确的方法是 if ( date("m") == '11' || date("m") == '12' ) echo 'asfd'; 解释它为什么不工作:运算符优先级 |的运算符优先级高于=,因此首先对其求值11 | | 12的计算结
11
或12
)echo
什么的话。为什么
这项工作:
if ( date("m") == '11' ) echo 'asdf'
这并不是:
if ( date("m") == '11' || '12' ) echo 'asfd'
正确的方法是
if ( date("m") == '11' || date("m") == '12' ) echo 'asfd';
解释它为什么不工作:运算符优先级
|
的运算符优先级高于=
,因此首先对其求值<代码>11 | | 12的计算结果为布尔真;日期('m')给出一个介于1和12之间的数字。。。当将(=
)与布尔值true进行比较时,任何正整数都会给出一个true,因此如果测试总是有效的,那么检查一下:我很惊讶第一个测试在没有的情况下工作代码>在echosecond的末尾,第二个是把它弄得一团糟,但很难达到这个标记,向所有越过这个标记的人致敬。