我正在数据库中存储一个字符串形式的数组以供以后检索:数组的值恰好是filter_val调用的参数。
$str = 'array("options" => array("min_range" => 4))';
我知道我可以使用
eval('$options = ' . $str . ';');
准备此值以传递给filter_val,但是还有其他方法可以做到这一点吗?
这个相关的帖子(虽然很棒)并没有处理我的确切问题。
我不会在eval()
让你的字符串起作用。例如,某些主机上可能不允许使用该功能eval
,因此您的应用程序将无法工作。
更合适的方法是将您的选项存储在 json_encode()
的字符串中,并在需要时进行解码。
$options = json_decode($options_from_db);
或者正如John Conde提到的,你可以序列化它。