2015-11-02 44 views
0

如何在保留鍵的同時將陣列平坦化?鎖住陣列,同時保留鍵

例如說我有以下陣列:

array (size=2) 
    0 => 
    array (size=1) 
     'bonus' => float 20 
    1 => 
    array (size=1) 
     'bonus_percent' => float 2 
     array (size=1) 
     'bonus_all' => float 22 

我怎麼能「壓平」它是這樣嗎? :

array (size=2) 
    'bonus' => float 20 
    'bonus_percent' => float 2 
    'bonus_all' => float 22 

我從SO中也發現了這個函數,這導致了當前結果。

$objTmp = (object) array('aFlat' => array()); 

array_walk_recursive($results, create_function('&$v, $k, &$t', '$t->aFlat[] = $v;'), $objTmp); 

var_dump($results); 
+1

讓我們瞭解您已經嘗試 – Epodax

+0

更新問題 –

回答

2

如果有需要拼合無更深層次,循環可能比使用array_walk_recursive()一個簡單的解決方案。

喜歡的東西:

$original = array(...); 
$result = array(); 

foreach ($original as $value) { 
    $result += $value; 
}