如何从单个数组创建多维数组?

我有一个这样的数组:


    [0] => Array

        (

            [reserveid] => 12

            [description] => description 

            [amount] => 1000

            [startdate] => 2020-01-01 00:00:00

            [catid] => 8

            [catname] => child categoryname

            [parentid] => 3

            [parentname] => parent categoryname

        )

储备属于子类别或直接属于父类别。


我想创建一个数组,其中所有的父母都组合在一起。之后所有的孩子都被分组在一起,然后所有的储备都被分组在一起。


所以我需要一个这样的数组:


parentid -> catid -> reserveid -> (description, amount, startdate)

我对编程还很陌生,我知道数组就是这样做的,但我无法理解这个过程。有人可以通过这种思维方式指导我吗?我将不胜感激 :)


精慕HU
浏览 103回答 1
1回答

翻过高山走不出你

您可以循环数组的元素,并创建一个新数组,其键将是您检索的值。$array = [    ['parent' => 10, 'cat' => 5, 'reserve' => 1, 'foo' => 'Foo', 'bar' => 'bar'],    ['parent' => 8, 'cat' => 3, 'reserve' => 1, 'foo' => 'Foo', 'bar' => 'bar'],    ['parent' => 10, 'cat' => 5, 'reserve' => 1, 'foo' => 'Foo', 'bar' => 'bar'],];$newArray = [];foreach($array as $arr) {    $newArray[$arr['parent']][$arr['cat']][$arr['reserve']] = [        'foo' => $arr['foo'],        'bar' => $arr['bar']    ];}var_export($newArray);
打开App,查看更多内容
随时随地看视频慕课网APP