如何通过使下一项成为前一项子项的一部分来移动数组?

数组:


$array = [

  'A',

  'B',

  'C'

  //and so on

]

预期结果:


$array = [

    [

        'value' => 'A',

        'names'    => [

            '1' => 'A',

            '2' => 'A'

        ],

        'child' => [

            'value' => 'B',

            'names'    => [

                '1' => 'B',

                '2' => 'B'

            ],

            'child' => [

                'value' => 'C',

                'names'    => [

                    '1' => 'C',

                    '2' => 'C'

                ],

                'child' => [

                    // and so on...

                ]

            ]

        ]

    ]

];

我研究了一个函数array_merge_recursive。但这个函数不会移动数组。


需要实现:从简单数组到交错数组。


HUH函数
浏览 80回答 1
1回答

翻阅古今

我不明白你想要什么names,但是这段代码正在生成你想要的数组:$array = [    'A',    'B',    'C'    //and so on];$result = [];for($i = count($array) - 1 ; $i >= 0 ; $i--){    $result = [        'value' => $array[$i],        'names'    => [            '1' => $array[$i],            '2' => $array[$i],        ],        'child' => $result    ];}输出:Array(    [value] => A    [names] => Array        (            [1] => A            [2] => A        )    [child] => Array        (            [value] => B            [names] => Array                (                    [1] => B                    [2] => B                )            [child] => Array                (                    [value] => C                    [names] => Array                        (                            [1] => C                            [2] => C                        )                    [child] => Array                        (                        )                )        ))
打开App,查看更多内容
随时随地看视频慕课网APP