2016-03-15 173 views
-3

我需要修改以下数组:PHP合并多维数组到一个

Array 
(
    [category_id] => Array 
     (
      [0] => 21 
      [1] => 22 
     ) 

    [amount] => Array 
     (
      [0] => 10000 
      [1] => 2000 
     ) 

) 

我需要得到的输出看起来像这样:

Array 
(
    [0] => Array 
     (
      [category_id] => 21 
      [amount] => 10000 
     ) 

    [1] => Array 
     (
      [category_id] => 22 
      [amount] => 2000 
     ) 

) 

有谁知道如何实现这一目标?

+0

这是基本的数组操作。你尝试过什么吗? – axiac

回答

1

TRY -

$array = array 
(
    'category_id' => array 
     (
      '0' => 21, 
      '1' => 22 
     ), 

    'amount' => array 
     (
      '0' => 10000, 
      '1' => 2000 
     ) 

); 

$new = array(); 

$keys = array_keys($array); 
$elements = 2; 

for($i = 0; $i < 2; $i++) { 
    $temp = array_column($array, $i); 
    $new[] = array_combine($keys, $temp); 
} 

var_dump($new); 

输出

array(2) { 
    [0]=> 
    array(2) { 
    ["category_id"]=> 
    int(21) 
    ["amount"]=> 
    int(10000) 
    } 
    [1]=> 
    array(2) { 
    ["category_id"]=> 
    int(22) 
    ["amount"]=> 
    int(2000) 
    } 
} 

array_column()支持PHP> = 5.5

array_combine()

Fiddle