[英]How to generate dynamic IF statement
我的数组看起来像这样。
$setLogic = array(array("Conj"=>null,"Topic"=>True),array("Conj"=>"Or","Topic"=>True),array("Conj"=>"Or","Topic"=>false),
我尝试用这种方式动态地构建一个 IF 语句。
foreach($setLogic as $value){
echo $value['Conj'].(int)$value['Topic'];
if($value['Conj'].(int)$value['Topic'] == true){
$getBoolean[] = true;
}
else{
$getBoolean[] = false;
}
我只需要这样的东西。
(true or true or false)
并返回真或假
我用我自己找到了答案。 它看起来像这样。
$abc= '';
foreach($setLogic2 as $key => $value){
$abc.= $value['Conj'].' '.(int)$value['Topic'].' ';
}
//$abc = "0 And 1 And 1";
if(eval("return $abc;") == true) {
echo 'true boolean';
}
else if(eval("return $abc;") == false){
echo 'false boolean';
}
else{
echo 'none';
}
好的,我会重新制定我的答案....
您想动态评估一个数组,该数组包含每个子数组 * 一个动词:“and”或“or” * 一个值“true 或”false”
更快和最脏的方法是使用 eval()。 * 将条件构建为字符串(将“and”替换为“&&”,将“or”替换为“||”
'true || true && false'
eval('$result = (true || true && false);');
var_dump($result);
这肯定有效...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.