数组创建的评估替代方案
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);
或.
我将字符串形式的数组存储在数据库中以供以后检索: 数组的值恰好是 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);
或