我有第一个数组
$key = array('first', 'second', 'third', ...);
我希望将其转换为$ new_array,看起来像这样
array('first' => array('second' => array('third' => ...)));
有什么想法吗?
答案 0 :(得分:1)
试试这个:
$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 => []
的新子数组,然后再次设置引用。