2016-11-05 227 views
-2

請幫忙解決這個問題 我想改變這種如何合併內陣列相同的密鑰值

[UI Testing] => Array 
     (
      [0] => Array 
       (
        [0] => 0 
        [1] => 70 
       ) 

      [1] => Array 
       (
        [0] => 40 
        [1] => 0 
       ) 

     ) 

TO

[UI Testing] => Array 
     (
      [0] => Array 
       (
        [0] => 40 
        [1] => 70 
       ) 

     ) 

感謝。

+0

提高你的質量問題也分享你的努力爲所有的東西你試過。 – Shubhamoy

+0

你想做什麼樣的轉換?你正在尋找同一把鑰匙上的最大數字嗎? –

回答

0

$myArray = array(); 
$myArray[] = array(0,70); 
$myArray[] = array(40,0); 

$sumArray = array(); 

foreach ($myArray as $k=>$subArray) { 
    foreach ($subArray as $id=>$value) { 

    array_key_exists($id, $sumArray) ? $sumArray[$id] += $value : $sumArray[$id] = $value; 
    } 
} 

print_r($sumArray); 

輸出:

Array 
(
    [0] => 40 
    [1] => 70 
) 
0

陣列可filtered除去0值的索引和array_reduce合併數組。下面舉個例子:

$arr = array('UI Testing' => array(array(0, 70), array(40, 0),)); 

$new_arr['UI Testing'] = array_reduce($arr['UI Testing'], function($old, $new) { 
    return array_filter($new, function($v){ return $v > 0 ? $v : null; }) + $old; 
}, []); 

print '<pre>'; 
print_r($new_arr); 
print '</pre>'; 

輸出

Array 
(
    [UI Testing] => Array 
     (
      [0] => 40 
      [1] => 70 
     ) 
) 
相關問題