【问题标题】:How to convert string to boolean multiple condition in PHP如何在PHP中将字符串转换为布尔多条件
【发布时间】:2021-05-27 10:43:55
【问题描述】:

如何将字符串转换为条件boolean

带有布尔条件的示例字符串。

$condition1 = 'false || ( true && false)'; // should return false
$condition2 = 'false || true';  // should return true
$condition3 = 'true && false';  // should return false
$condition4 = 'true && (true || false);  // should return true

我尝试了这些代码但没有用..

$result =  (boolean) $condition1;
$result = filter_var($condition1, FILTER_VALIDATE_BOOLEAN);
$result = settype($condition1, 'boolean');

有办法转换吗?

【问题讨论】:

  • 出于好奇——这样做的目的是什么?如果您要对一些逻辑表达式进行硬编码,不妨将它们的结果硬编码到变量中。
  • 编写你自己的解析器,用嵌套括号对真假进行标记以评估结果。

标签: php laravel laravel-5 conditional-statements laravel-8


【解决方案1】:

你可以使用php eval()函数

eval("\$status=true || false; return \$status;")

你的情况

eval('\$condition1 = false || ( true && false);');
eval('\$condition2 = false || true;');
// And so on ...

【讨论】:

  • eval 函数对安全性至关重要,还有其他方法吗?
猜你喜欢
  • 1970-01-01
  • 2021-07-01
  • 1970-01-01
  • 2011-11-12
  • 2012-03-10
  • 2010-10-15
  • 2019-10-17
  • 1970-01-01
  • 2011-02-17
相关资源
最近更新 更多