我似乎无法弄清楚,我希望有人对此有一个神奇的递归解决方案。我有一个键列表,基本上我想将其转换为嵌套数组。
array('level1', 'level2', 'level3');
到
array(
'level1' => array(
'level2' => array(
'level3' // last key in array should be just a value
)
)
)
非常感谢任何可以提供帮助的人!
像这样的事情应该做的工作:
function buildMultiDimensional(Array $arr)
{
// the first value will become a new key
$newKey = array_shift($arr);
if (empty($arr)) {
// this is where the recursion stops
return $newKey;
}
// and the recursion !!!
return array($newKey => buildMultiDimensional($arr));
}
$arr = array('level1', 'level2', 'level3', 'level4', 'level5');
var_dump(buildMultiDimensional($arr));
结果是预期的:
array(1) {
["level1"]=>
array(1) {
["level2"]=>
array(1) {
["level3"]=>
array(1) {
["level4"]=>
string(6) "level5"
}
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句