是否有任何选项可以在不使用危险eval
的情况下将字符串转换为数组?
我不想使用eval
下面的解决方案
eval("\$a=array(1,2,3,4);");
print_r($a);
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
例如,我有一个如下所示的字符串
$my_string_form='array(
"col1"=>"name",
"input"=>array(),
"parameters"=>array(
"default"=>"xyz",
"other"=>array(),
"something"=>new stdClass()
)
)
';
我想验证它是否正确定义,如果定义正确我想逐个访问数组元素
if($real_array=somelogic_to_validate($my_string_form))
{
// Valid array fine, do some work on it
foreach($real_array as $key =>$v)
{
}
}else
{
die("Bad string received");
}