php运营商,这个例子让我很困惑

时间:2016-07-16 16:46:28

标签: php operators

以下代码:

$currentTime = 10;
$currentDayText = 'Fri';
$roomid = 25;

var_dump($currentTime > 6); //true
var_dump($currentDayText == 'Fri'); //true
var_dump($roomid == 25); //true
var_dump($roomid == 25 && $currentDaytext == 'Fri' && $currentTime > 6); //false? 

上面的例子有3个声明的变量,每个变量都包含在方法中,var_dump()与true相关。但是,如果我将所有3个组合在一个条件中,则计算结果为false。有人可以解释为什么这样我能理解为什么会这样吗?

提前致谢

2 个答案:

答案 0 :(得分:0)

最后一行

$currentDaytext == 'Fri'应为$currentDayText == 'Fri'。 Capital" Text"。

答案 1 :(得分:0)

$currentDaytext未定义,因此隐含错误。您定义并指定true的变量为$currentDayText - 注意资本T。

如果你修正了这个错误,将&&应用于三个评估为true的表达式,确实也会评估为真。