2 回答
![?](http://img1.sycdn.imooc.com/533e4d660001312002000200-100-100.jpg)
TA贡献1796条经验 获得超10个赞
这应该是这样的:
function rec($arr, $prefix ="") {
if ($prefix != "") $prefix .= "/";
foreach($arr as $e) {
echo $prefix . $e['name'];
if (!empty($e['children']))
rec($e['children'], $prefix . $e['name']);
}
}
我不在电脑上,所以这个伪代码只有...
![?](http://img1.sycdn.imooc.com/54584dd900014f6c02200220-100-100.jpg)
TA贡献1842条经验 获得超12个赞
$array = [
['App', 'Classes', 'Auth'],
['App', 'Classes', 'Auth'],
['App', 'Classes', 'Middleware'],
['App', 'Classes', 'Phone'],
['App', 'Classes', 'Auth'],
['App', 'Mail'],
['App', 'Mail', 'Sender'],
['App', 'Box'],
['Bla', 'bli'],
];
var_dump(arrayToNamespace($array));
function arrayToNamespace($array) {
$newArr = array();
foreach ($array as $nsArr) {
$wns = &$newArr;
foreach ($nsArr as $ns) {
if (!isset($wns[$ns])) {
$wns[$ns] = array();
}
$wns = &$wns[$ns];
}
}
return $newArr;
}
- 2 回答
- 0 关注
- 102 浏览
添加回答
举报