2017-02-03 37 views
-1

的總和我有對象數組:讓我的對象數組

[Income] => Array 
    (
     [0] => Array 
      (
       [Today] => Array 
        (
         [0] => Array 
          (
           [Sum] => Array 
            (
             [Total] => 61.9700 
            ) 
          ) 

         [1] => Array 
          (
           [Sum] => Array 
            (
             [Total] => 60.2300 
            ) 
          ) 
        ) 
      ) 

     [1] => Array 
      (
       [Today] => Array 
        (
         [0] => Array 
          (
           [Sum] => Array 
            (
             [Total] => 51.9500 
            ) 
          ) 

         [1] => Array 
          (
           [Sum] => Array 
            (
             [Total] => 53.6900 
            ) 
          ) 
        ) 
      ) 
    ) 

如何正確總結Total每個級別?

Income->[0]->Today should be 122.20 
Income->[1]->Today should be 105.64 

我已經試過這樣: 編輯:

for($i=0;$i<count($item->Today);$i++){ 
    $total = 0; 
    foreach ($item->Today as $amount) { 
     if(is_object($amount[$i]->Sum->Total)){ 
     echo $amount[$i]->Sum->Total; 
     $total += $amount[$i]->Sum->Total; 
     } 
    } 
    if($i==0){ 
     echo '<td>'.$total.'</td>';  
    } 
} 

我得到這個錯誤警告:主要():當只存在0這樣的元素無法添加元素今天3號..更新了我發佈的代碼我現在用

我有它從XML不是數組對象
我知道什麼是錯的!我還在原地努力學習多維數組:(

+1

收入似乎是您的數組中的一個關鍵。所以你不能使用'收入',但使用'$ myArray ['收入']' – AnthonyB

回答

1
<?php 
$income; 
for($i = 0; $i < count($income["Income"]); $i++) { 
    $total = 0; 
    foreach ($income["Income"][$i]["Today"] as $amount) { 
     $total += $amount["sum"]["Total"]; 
    } 
    $income["Income"][$i]["Today"] = $total; 
} 

只要把你的數據陣列$income=//your data

+0

我把它作爲XML對象而不是數組 –

+0

你已經顯示數組上面... –

+0

我告訴對象數組 –

1

您需要的foreach:

$array=array(); 
foreach($arr['Income'] as $key=>$val){ 
    $array['Income'][$key]['Today']=0; 
    foreach($val['Today'] as $k=>$v){ 
     foreach($v as $keys=>$values){ 
      $array['Income'][$key]['Today']=$array['Income'][$key]['Today']+$values['Total']; 
     } 
    } 
} 

print_r($array);//your output. 

DEMO

+0

我有它作爲對象從XML而不是陣列 –

+0

@IngusGraholskis您發佈的數據看起來不像它的對象是array.Share正確的data.above代碼適用於顯示的數據。 –

+0

其$ xml =新的SimpleXMLElement($ xmldata,LIBXML_NOCDATA); –