在PHP中转换一个二维数组到多维数组。

问题描述 投票:-2回答:1

在PHP中,我有一个动态的一维数组,它就象是$array = ['test1', 'test2', ..., 'testn'] 我需要将其转换为一个多维数组,数组嵌套级别将等于1-D数组中元素的数量,并且每个级别将有其索引与1-D数组值的名称,所以,输出应该是这样的。$multidimentional['test1']['test2'][...]['testn'] = [Some Fixed Value] 在创建多维数组后,给它分配一个固定的值。 所以,基本上这个固定的值需要分配到一个多维数组中,这个数组的嵌套级别与1 -D数组的值相同。

php arrays multidimensional-array
1个回答
2
投票

你可以简单地在元素上循环,将元素作为键赋给当前数组,然后继续处理子数组。

<?php

$array = ['test1', 'test2','test3', 'test4'];
$res = [];
$temp = &$res;
foreach($array as $val){
    $temp[$val] = [];
    $temp = &$temp[$val];
}
$temp[] = 45; // some fixed value
print_r($res);

演示。 https:/3v4l.orgINfR2

© www.soinside.com 2019 - 2024. All rights reserved.