如何从包含数组的字符串中获取数组?

时间:2015-03-18 13:09:36

标签: php arrays

是否可以使用正则表达式,或以其他方式创建一个函数来转换包含任何形式的php数组的字符串,在真实数组中,它可以运行?

例如:

$str = "array(1, array(2), array('key' => 'value'))";
$arr = stringArrayToArray($str);

也许已经有这样的任务执行? 或者不要打扰,只是简单地使用eval()?

$arr = eval("return $str;");

2 个答案:

答案 0 :(得分:0)

您可以尝试使用explode()函数。 试试吧。

<?php 
    $str = "do you love me";
    $arr = explode(' ', $str);

    print_r($arr);
 ?>

答案 1 :(得分:0)

您只需将array(替换为[,将)替换为] 如下所示:     

    $str = "array(1, array(2), array('key' => 'value'))";
    $str = str_replace(" ","",str_replace(",","[",$str));
    $str = str_replace(")","",str_replace("array(","[",$str));
    echo $str;
    $arr = explode("[",$str);
    var_dump($arr);

?>

这是我能得到的最好的。