【发布时间】:2014-08-23 19:10:04
【问题描述】:
为什么这段代码可以正常工作?
function isLoggedIn(){
return false; //or true
}
if($user = isLoggedIn())
{
echo "Hello ".$user['name']; //if isLoggedIn returns true, this prints
} else {
echo "Please login to proceed!";//if isLoggedIn returns false, this prints
}
我一直认为if() 条件中的assignment operator 将始终评估为true,因为它只评估right hand side 的值是否可以分配给left hand side...
【问题讨论】:
-
“为什么这段代码可以正常工作?” - 现在有一个开关。
-
大声笑,我猜有:p
-
我注意到你已经从前面给出的答案stackoverflow.com/a/24539850 中得到了它,为什么这里有这个问题?好奇。
-
我不明白那个答案,并且 cmets 部分会变得太长,只有 OP 的答案,所以我想我会在这里发帖。
-
我明白了。好吧,看起来你已经得到了你的钱的价值。 ;-)
标签: php if-statement boolean variable-assignment