在 php 中将嵌套关联数组转换为单个数组

Convert nested associative array to single array in php

我有包含键值对的嵌套数组。我想将它转换为单个数组。

/* This is current array */
Array
(
    [id] => Array
        (
            [0] => 1
            [1] => 2
        )
    [qty] => Array
        (
            [0] => 1
            [1] => 1
        )

    [price] => Array
        (
            [0] => 364.41
            [1] => 300
        )

    [amount] => Array
        (
            [0] => 364.41
            [1] => 300
        )
)
/*Now, I want this type of array*/
Array
(
    [0] => Array
            (
                [id] => 1
                [qty] => 1
                [price] => 364.41
                [amount] => 364.41
            )
    [1] => Array
            (
                [id] => 2
                [qty] => 1
                [price] => 300
                [amount] => 300
            )
)

我尝试了 array_walk 和其他一些解决方案,但我找不到任何合适的解决方案

提前致谢

$mainarray['id'] = Array(1,2,3);
$mainarray['qty'] = Array(1,1,4);
$mainarray['price'] = Array(364.41,300,500);
$mainarray['amount'] = Array(364.41,300,600);
$new = [];     

foreach($mainarray as $key=> $singleArray){
   if(count($singleArray) > 0){
       foreach($singleArray as $childKey=> $value){
                $new[$childKey][$key] = $value;
       }
   };
}` 

Main 数组是您的嵌套数组,Collection 是您想要的结果

        foreach($mainArray["id"] as $key => $value ){
        $collection[$key] = ['id' => $value];
        foreach(array_keys($mainArray) as $arrayKeysOfmainArray){
            if(!array_key_exists($arrayKeysOfmainArray, $collection)){
                $collection[$key][$arrayKeysOfmainArray] = $mainArray[$arrayKeysOfmainArray][$key];
            }
        }
    }

    print_r($collection);