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

yyyllmsg  于 2023-09-29  发布在  PHP
关注(0)|答案(2)|浏览(148)

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

deyfvvtc

deyfvvtc1#

您可以简单地循环元素,将元素作为键分配给当前数组,然后继续处理子数组。

<?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);

Demo:https://3v4l.org/INfR2

llmtgqce

llmtgqce2#

var oneDarr=[1,2,3,4,5,6]   
Output : [[1,2,3],[4,5,6]]
let a = []
let temp = []
let dSize= 0
// let dataIn = false
let size= 4
for(let i = 0; i<oneDarr.length;i++){
dSize+=1
temp.push(oneDarr[i])

if(dSize === size || i === oneDarr.length-1)
{
 a.push(temp)
 temp = []
 dSize=0
 }
console.log("d",dSize)
 }
console.log(a)

此逻辑将适用于所有语言给予大小,并将一个数组转换为多维数组\

相关问题