【发布时间】:2017-11-12 20:41:28
【问题描述】:
我有三个array,一个是包含所有布尔值的布尔数组,第二个是条件数组,其中包含和/或布尔数组之间的操作,第三个是路由页面数组,如果表达式为真,则重定向到下一个路由页面,否则不
比如数组
array(2) { [0]=> bool(true) [1]=> bool(false) ...} // boolean array
array(2) { [0]=> string(2) "or" [1]=> string(0) "" ...} // conditional operator array
array(2) { [0]=> string(1) "2" [1]=> string(1) "2" ... } // route page
表达式将被设为(bool(true) or bool(false)),因此结果将是bool(true) final,因此它将重定向到第二页,即我需要循环中的递归表达式
这是我应用的代码
for($i=0;$i<count($boolean);$i++)
{
if($and_or[$i]=='and')
{
$operator='&&';
}
else
{
$operator='||';
}
$result=($boolean[$i].$operator.$boolean[$i+1]);
}
var_dump($result);
【问题讨论】:
-
条件运算符数组的第二个元素是否有空值?
-
一些问题:递归与此有什么关系?第三个数组与问题相关吗?一些评论:您正在做的是附加字符串,而不是应用逻辑运算符。使用您的代码,您还将使用
$boolean[$i+1]超出数组的末尾。 -
是的,空白值表示条件运算符的结束,不再进行提前操作
-
@Gerriet 那么如何解析和制作表达式,第三个数组是最终结果,如果表达式似乎为真,则页面重定向将在那里,我在页面逻辑中应用此条件的调查。更多详情stackoverflow.com/questions/44434757/…
标签: php arrays recursion logical-operators