如何将简单数组转换为多维数组?

时间:2017-10-30 12:07:12

标签: php arrays multidimensional-array

我有第一个数组

$key = array('first', 'second', 'third', ...);

我希望将其转换为$ new_array,看起来像这样

array('first' => array('second' => array('third' => ...)));

有什么想法吗?

1 个答案:

答案 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 => []的新子数组,然后再次设置引用。