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

3

I have one array as

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

我想处理这个数组并希望得到一个新的数组。
$tmpArr[A][B][C] = C

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

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


这没有意义。 - Thariama
我觉得这没有任何意义,但如果你需要帮助,请提供更多信息——输入的数组中应该有几个元素?你现在都试过什么了?为什么你必须要进行这种转换,而不能在创建数组时直接完成所需的操作? - oezi
3个回答

10

迭代键的数组并在链的末端使用引用

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

你比我快了。我几乎也有同样的东西(唯一的区别是变量名)... +1 - ircmaxell

10
$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
$tmpArr[$tmpArr[0]][$tmpArr[1]][$tmpArr[2]] = $tmpArr[2];

Is that what you want?


是的,没错。但我希望它是动态的,也就是说元素数量不是固定的,可能会变化。 - Nilesh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接