简体   繁体   English

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

[英]PHP convert one dimensional array into multidimensional

I have one array as 我有一个数组

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

I want to process this array and want new array as 我想处理这个数组并想要新的数组

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

Ie last element becomes the value of final array. 即最后一个元素成为最终数组的值。

Can anyone suggest the solution? 有谁能建议解决方案? Please help. 请帮忙。 Thanks in advance 提前致谢

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

Output: 输出:

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

                )

        )

)

Iterate the array of keys and use a reference for the end of the chain: 迭代键数组并使用链的末尾的引用

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

那是你要的吗?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM