为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
HUH函数 2023-08-11 17:51:45
数组:$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。但这个函数不会移动数组。需要实现:从简单数组到交错数组。
查看完整描述

1 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

我不明白你想要什么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

                        (

                        )


                )


        )


)


查看完整回答
反对 回复 2023-08-11
  • 1 回答
  • 0 关注
  • 79 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信