我有一个表单,用户可以在其中创建自己的条件。例如
<select name="operator">
<option value="==">(==) Equal</option>
<option value="!=">(!=) - Not Equal</option>
<option value=">">(>) - Greater than</option>
<option value="<">(<) - Less than</option>
<option value=">=">(>=) - Greater than or equal to </option>
<option value="<=">(<=) - Less than or equal to </option>
</select>
我如何解析该运算符,使其实际上是一个字符串,但 php 将其解释为条件运算符?
if($column $operator $value){
}
冗长的做法是这样的:
switch($operator){
case '!=':
if($column != $value){
}
break;
case '<=':
case '<=':
if($column <= $value){
}
break;
}
做到这一点的唯一方法是使用eval https://www.php.net/eval它将字符串计算为 PHP 代码。
Using eval
出于安全原因通常不建议使用。您当前使用的方法switch
是最好的解决方案。唯一的其他选择是使用if
以类似的方式陈述。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)