我将数组以字符串形式存储在数据库中以便以后检索: 数组的值恰好是filter_val调用的参数。
$str = 'array("options" => array("min_range" => 4))';
我知道我可以使用
eval('$options = ' . $str . ';');
准备传递给filter_val的值,但有没有其他方法可以做到这一点?
This related post(虽然优秀)没有处理我的确切问题。
答案 0 :(得分:3)
我不会使用eval()
来使您的字符串正常运行。例如,函数eval
may be disallowed on some hosts,因此您的应用程序将无效。
更合适的方法是将您的选项存储在json_encode()
'd字符串中,并在需要时进行解码。
$options = json_decode($options_from_db);