Php 如何将简单数组转换为多维数组?
我有第一个数组Php 如何将简单数组转换为多维数组?,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有第一个数组 $key = array('first', 'second', 'third', ...); 我想把它转换成一个$new_数组,如下所示 array('first' => array('second' => array('third' => ...))); 有什么想法吗?试试这个: $keys = array('first', 'second', 'third'); $new_array = []; $lastArray = &$new_array
$key = array('first', 'second', 'third', ...);
我想把它转换成一个$new_数组,如下所示
array('first' => array('second' => array('third' => ...)));
有什么想法吗?试试这个:
$keys = array('first', 'second', 'third');
$new_array = [];
$lastArray = &$new_array;
foreach ($keys as $index => $key) {
$lastArray[$key] = [];
$lastArray = &$lastArray[$key];
}
unset($lastArray);
print_r($new_array);
这将产生:
Array
(
[first] => Array
(
[second] => Array
(
[third] => Array
(
)
)
)
)
基本上,它存储对创建的最后一个子数组的引用,并且在每次迭代中,使用
$key=>[]
添加一个新的子数组,然后再次设置引用。到目前为止您尝试了什么?您想让它递归嵌套吗?@rahulsm我在PHP文档中查找数组函数,针对每个操作,询问我自己,等等,是的,递归嵌套!顺便问一下,你为什么要否决我的问题?很明显,我应该写一整段看起来很严肃吗?@FlorentBanneux我猜可能是因为你没有发布你尝试过的东西。你的问题本身很清楚。大多数用户不喜欢那些似乎在说谢谢的问题,我很感激@Florentbaneux没问题:)如果我的回答对你有帮助,别忘了