PHP将一维数组转换为多维数组

Nil*_*esh 3 php multidimensional-array

我有一个数组

$tmpArr =  array('A', 'B', 'C');
Run Code Online (Sandbox Code Playgroud)

我想处理这个数组并想要新的数组

$tmpArr[A][B][C] = C
Run Code Online (Sandbox Code Playgroud)

即最后一个元素成为最终数组的值.

有谁能建议解决方案?请帮忙.提前致谢

Rus*_*ias 9

$tmpArr =  array('A', 'B', 'C');
$array = array();
foreach (array_reverse($tmpArr) as $arr)
      $array = array($arr => $array);
Run Code Online (Sandbox Code Playgroud)

输出:

Array
(
    [A] => Array
        (
            [B] => Array
                (
                    [C] => Array
                        (
                        )

                )

        )

)
Run Code Online (Sandbox Code Playgroud)


Gum*_*mbo 8

迭代键数组并使用链的末尾的引用:

$arr = array();
$ref = &$arr;
foreach ($tmpArr as $key) {
    $ref[$key] = array();
    $ref = &$ref[$key];
}
$ref = $key;
$tmpArr = $arr;
Run Code Online (Sandbox Code Playgroud)