在php中是否有一个类似array_column的函数用于多维数组

jcr*_*opp 5 php arrays multidimensional-array array-column

是否有类似于array_column多维数组的函数?是否有一个函数可以将下面的第一个数组转换为第二个数组:

Array
(
    [0] => Array
        (
            [foodType] => fruits
            [itemID] => 1
            [itemName] => apple
        )

    [1] => Array
        (
            [foodType] => fruits
            [itemID] => 2
            [itemName] => banana
        )

    [2] => Array
        (
            [foodType] => veggies
            [itemID] => 3
            [itemName] => carrot
        )

    [3] => Array
        (
            [foodType] => veggies
            [itemID] => 4
            [itemName] => broccoli
         )

)
Run Code Online (Sandbox Code Playgroud)

结果数组:

Array
(
    [fruits] => Array
        (
            [0] => Array
                (
                    [itemID] => 1
                    [itemName] => apple
                )

            [1] => Array
                (
                    [itemID] => 2
                    [itemName] => banana
                )

        )

    [veggies] => Array
        (
            [0] => Array
                (
                    [itemID] => 3
                    [itemName] => carrot
                )

            [1] => Array
                (
                    [itemID] => 4
                    [itemName] => broccoli
                 )
        )

)
Run Code Online (Sandbox Code Playgroud)

Sam*_*tch 0

哦,我刚刚注意到你是按 ID 聚合它们的。没有用于此目的的函数,您将需要使用循环迭代输入,并使用所需的数据填充输出数组。例如:

$output = [];

foreach($input_array as $item) {
  $output[$item['id']][] = [
     'itemID' => $item['itemID'],
     'itemName' => $item['itemName']
  ];
}
Run Code Online (Sandbox Code Playgroud)