【问题标题】:How to get an array from string, containing an array?如何从字符串中获取包含数组的数组?
【发布时间】:2015-03-18 13:09:35
【问题描述】:

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

例如:

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

也许已经有这样的任务实现了? 还是不打扰,只用eval()?

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

【问题讨论】:

  • 数据从何而来? 99% 确定这是XY problem...

标签: php arrays


【解决方案1】:

你可以试试explode()函数。 试试看。

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

    print_r($arr);
 ?>

【讨论】:

    【解决方案2】:

    您可以将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);
    
    ?>
    

    这是我能得到的最好的。

    【讨论】:

      猜你喜欢
      • 2023-02-22
      • 2014-05-02
      • 2020-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多