在php中从多个多维数组创建一个数组

I have created following array. But this is not what actually i want. help to create a new array from this to fulfill my requirements.

Array (
[supplier_id] => 1
[filter_name] => Array
    (
        [0] => product 1 
        [1] => Product 2
        [2] => Product 3
    )

[quantity] => Array
    (
        [0] => 3
        [1] => 10
        [2] => 2
    )

[unit] => Array
    (
        [0] => pkts
        [1] => ltrs
        [2] => pkts
    )

[price] => Array
    (
        [0] => 11
        [1] => 100
        [2] => 10
    )

[gross_amount] => Array
    (
        [0] => 33
        [1] => 1000
        [2] => 20
    )

[vat] => Array
    (
        [0] => 0
        [1] => 0
        [2] => 0
    )

[net_amount] => Array
    (
        [0] => 33
        [1] => 1000
        [2] => 20
    ) )

And This is the array i want exactly. Is there any idea to create this type of array.

Array(
[supplier_id] = 1
[0] = Array(
    [filter_name] => product 1
    [quantity] => 3
    [unit] => pkts
    [price] => 11
    [gross_amount] => 33
    [vat] => 0
    [net_amount] => 33
)
[1] = Array(
    [filter_name] => product 2
    [quantity] => 10
    [unit] => ltrs
    [price] => 100
    [gross_amount] => 1000
    [vat] => 0
    [net_amount] => 1000
)

[2] = Array(
    [filter_name] => product 3
    [quantity] => 2
    [unit] => pkts
    [price] => 10
    [gross_amount] => 20
    [vat] => 0
    [net_amount] => 20
))

I think this should help you, I am assuming there are maximum 3 values in your sub-array, So I used while($i<3);

$i = 0;
   $newArray = array();
   do{
   foreach($arr as $key=>$val){
       if($key == 'supplier_id'){
            $newArray[$key] = $val;
        }else{
            $newArray[$i][$key] = $val[$i];
        }

   }
   $i++;   
   }while($i<3);
   echo "<pre>"; print_r($newArray);

Check Output here