一维数组 转 多维数组问题,乱了!
程序员文章站
2022-05-04 20:43:21
...
$arr = array('a','b','c','d');
转为
$brr = array(
'a'=>array(
'b'=>array(
'c'=>array(
'd'=>array()
)
)
)
);
回复内容:
$arr = array('a','b','c','d');
转为
$brr = array(
'a'=>array(
'b'=>array(
'c'=>array(
'd'=>array()
)
)
)
);
$child];
$child = $res;
}
print_r($res);
结果为
Array
(
[a] => Array
(
[b] => Array
(
[c] => Array
(
[d] => Array
(
)
)
)
)
)
看到结构想到了递归,具体代码如下:
function toMany ($arr) {
$res = array();
burnArr($res, $arr);
return $res;
}
function burnArr (&$arr, $keys) {
if ( !empty($keys) ) {
$val = array_shift($keys);
$arr[$val] = array();
burnArr($arr[$val], $keys);
} else {
return ;
}
}
推荐阅读