在IF条件下定义和使用变量

时间:2014-01-13 14:39:13

标签: php

是否可以在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);}

2 个答案:

答案 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);}

希望这有帮助