请看看这个代码:PHP是否有一个错误,如果条件内赋值给变量?
function getVar(){
return "some string";
}
function test1(){
if($a = getVar()){
echo $a;
}
}
function test2(){
if($a = getVar() && $b = getVar()){
echo $a;
}
}
//test1();
test2();
我想你会明白发生了什么。试试test1()
和test2()
为什么test2()
制作$a
1
?
在'if'条件下,您应该使用'=='检查是否相等。 '='用于分配。 – cmbuckley
如果语句返回true或false。这可能是正在返回的内容。 – jeff
哦,是的赋值的优先级低于'&&',有点困倦atm。这个问题不是很糟糕,不值得许多赞扬,尽管OP应该将代码添加到问题中。 –