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


How to get an array from string, containing an array?

是否可以使用正则表达式,或者创建一个函数,将包含任何形式的php数组的字符串转换为可以操作的真实数组?

例如:

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

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

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

您可以尝试explode()函数。试试看。

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

您可以用[替换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);
?>

这是我能得到的最好的。