如何将一维数组转换为多维数?

时间:2011-09-09 10:08:45

标签: php arrays

我有一个像

这样的数组
$arr($name=>"vinu",$street0=>"xxx",$street1=>"yyy").

我需要将其转换为

$arr1($name=>"vinu",$street=>array("xxx","yyy")).

我该怎么做?

1 个答案:

答案 0 :(得分:3)

foreach($ary as $k => $v)
    if(preg_match("~(.+?)(\d+)$~", $k, $m))
        $out[$m[1]][$m[2]] = $v;
    else
        $out[$k] = $v;

基本上,如果一个键是“某事和数字”将其值放入result[something][digits],否则只需将该值复制到结果数组中