将数组的PHP Puttin值转换为多维数组

Joa*_*yne 2 php arrays multidimensional-array

您好我想将单个数组的值放入一个多维数组中,每个值都在n + 1上这是我的数组$结构

Array
(
    [0] => S
    [1] => S.1
    [2] => S-VLA-S
    [3] => SB
    [4] => SB50
)
Run Code Online (Sandbox Code Playgroud)

我想输出的是这个

Array
(
[S] => Array(
    [S.1] => Array (
        [S-VLA-S] => Array (
            [SB] => Array (
                [SB50] => Array(
                    'more_attributes' => true
                )
            )
        )
    )
)
)
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所尝试的

$structures = explode("\\", $row['structuurCode']);

foreach($structures as $index => $structure) {
    $result[$structure][$structure[$index+1]] = $row['structuurCode'];
}
Run Code Online (Sandbox Code Playgroud)

数组的值是树结构,这就是为什么将它们放在多维数组中会很方便的原因

提前致谢.

dec*_*eze 6

一旦你开始将其内部转出并将内部数组"包装"到连续的外部数组中,它就会变得非常简单:

$result = array_reduce(array_reverse($structures), function ($result, $key) {
    return [$key => $result];
}, ['more_attributes' => true]);
Run Code Online (Sandbox Code Playgroud)

显然,如果需要在同一结果数组上设置多个路径,则需要更复杂的解决方案,但这是单个路径的最简单解决方案.

  • 这样更好 (2认同)