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

时间:2010-09-27 13:07:23

标签: php multidimensional-array

我有一个数组

$tmpArr =  array('A', 'B', 'C');

我想处理这个数组,并希望新数组为

$tmpArr[A][B][C] = C

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

有人可以提出解决方案吗?请帮忙。提前致谢

3 个答案:

答案 0 :(得分:8)

迭代键数组并使用reference作为链的末尾:

$arr = array();
$ref = &$arr;
foreach ($tmpArr as $key) {
    $ref[$key] = array();
    $ref = &$ref[$key];
}
$ref = $key;
$tmpArr = $arr;

答案 1 :(得分:8)

$tmpArr =  array('A', 'B', 'C');
$array = array();
foreach (array_reverse($tmpArr) as $arr)
      $array = array($arr => $array);

<强>输出:

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

                )

        )

)

答案 2 :(得分:2)

$tmpArr[$tmpArr[0]][$tmpArr[1]][$tmpArr[2]] = $tmpArr[2];

这就是你想要的吗?