我是php的新手,我希望有一个像这样的条件语句:
if ($foo != 'Any') { $condition .= '$this_foo == $foo &&';}
if ($bar != 'Any') { $condition .= '$this_bar == $bar &&';}
if ($txt != 'Any') { $condition .= '$this_txt == $txt &&';}
$condition .= '$num1 > 0 && $num2 < 1000';
if (...[php would parse the $condition variable])
{
someoperations
}
if语句解析变量$ condition的正确语法是什么?因此条件语句取决于其他变量并防止长嵌套条件语句。
提前致谢!
答案 0 :(得分:2)
嗯,它不是完全解析,但你可以在代码执行时评估你的条件。
$condition = true;
if ($foo != 'Any') { $condition = $condition && ($this_foo == $foo);}
if ($bar != 'Any') { $condition = $condition && ($this_bar == $bar);}
if ($txt != 'Any') { $condition = $condition && ($this_txt == $txt);}
$condition = $condition && ($num1 > 0 && $num2 < 1000);
if ($condition)
{
someoperations
}
因此,我们假设$foo != 'Any'
为true
,这将导致
$condition = true && ($this_foo == $foo) && ($num1 > 0 && $num2 < 1000);
让我们假装$this_foo == $foo
,$num1 == 45
和$num2 == 2300
$condition = true && true && (true && false);
$condition = false;
你的if不会执行。
答案 1 :(得分:0)
我相信你想要的是
if (eval("return " . $condition)) {...}
如果解析失败,请确保检查FALSE案例。