php字符串到数组转换而不使用eval

时间:2016-10-22 20:39:13

标签: php arrays

是否有任何选项可以在不使用危险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");
}

0 个答案:

没有答案