数组创建的评估替代方案

Eval alternatives for array creation

我将字符串形式的数组存储在数据库中以供以后检索: 数组的值恰好是 filter_val 调用的参数。

$str = 'array("options" => array("min_range" => 4))';

我知道我可以使用

eval('$options = ' . $str . ';');

准备将此值传递给 filter_val,但是还有其他方法可以做到这一点吗?

This related post(虽然很好)没有解决我的确切问题。

我不会使用 eval() 来使您的字符串正常工作。例如,函数 eval may be disallowed on some hosts,因此您的应用程序将无法运行。

更合适的方法是将您的选项存储在 json_encode()'d 字符串中,并在需要时解码。

$options = json_decode($options_from_db);

.