是否可以在IF条件中定义变量,然后在相同的IF条件下使用该变量?我的测试显示它不能,为什么它不可能逃脱我。如果是这样,怎么样?如果没有,为什么?
function getX(){return 123;}
function getY($x){return $x*2;}
function getZ($y){return $y*2;}
if(
true
&& $x=getX()
&& $y=getY($x)
&& $z=getZ($y)
)
{echo('true '.$x.' '.$y.' '.$z);}
else {echo('false '.$x);}
答案 0 :(得分:1)
为您的条件添加括号()。
function getX(){return 123;}
function getY($x){return $x*2;}
function getZ($y){return $y*2;}
if(
true
&& ($x = getX())
&& ($y=getY($x))
&& ($z=getZ($y))
)
{echo('true '.$x.' '.$y.' '.$z);}
else {echo('false '.$x);}
工作3v4l:http://3v4l.org/lt3cc
答案 1 :(得分:1)
您需要将条件中的分配包装成这样的括号:
function getX(){return 123;}
function getY($x){return $x*2;}
function getZ($y){return $y*2;}
if(
true
&& ($x=getX())
&& ($y=getY($x))
&& ($z=getZ($y))
)
{echo('true '.$x.' '.$y.' '.$z);}
else {echo('false '.$x);}
希望这有帮助