2014-03-30 51 views
0

我有麻煩計算總數值從一個數組。我不確定如何訪問它。貝婁是我的代碼:如何計算數組內的值?

<?php 
if(file_exists('data.txt')){ 
    $result= file('data.txt'); 
    foreach ($result as $value) { 
     $columns= explode('!', $value);   
     echo '<tr> 
      <td>'.$columns[0].'</td> 
      <td>'.$columns[1].'</td> 
      <td>'.$columns[2].' лв.</td> 
      <td>'.$type[trim($columns[3])].'</td> 
      </tr>'; 
     $cost=(float)$columns[2]; 

     $totalCost=array($cost); 
     var_dump($totalCost); 
    } 
} 
?> 

的var_dump($成本)結果:

float(2.5) float(35) float(2.5) float(20) 

和後續代碼var_dump($ TOTALCOST):

array(1) { [0]=> float(2.5) } array(1) { [0]=> float(35) } array(1) { [0]=> float(2.5) } array(1) { [0]=> float(20) } 

我需要得到的總價值漂浮在$成本內。任何幫助,將不勝感激。

回答

3

不斷增加的費用到一個數組和循環迭代計算後的總和:

$costs = array(); 

foreach ($result as $value) { 
    $columns= explode('!', $value); 

    echo '<tr> 
     <td>'.$columns[0].'</td> 
     <td>'.$columns[1].'</td> 
     <td>'.$columns[2].' лв.</td> 
     <td>'.$type[trim($columns[3])].'</td> 
     </tr>'; 

    $costs[] = (float) $columns[2]; 
} 

$totalCost = array_sum($costs); 
1

你的代碼應該是

<?php 
if(file_exists('data.txt')){ 
    $result= file('data.txt'); 
    foreach ($result as $value) { 
     $columns= explode('!', $value);   
     echo '<tr> 
      <td>'.$columns[0].'</td> 
      <td>'.$columns[1].'</td> 
      <td>'.$columns[2].' лв.</td> 
      <td>'.$type[trim($columns[3])].'</td> 
      </tr>'; 
     $totalCost +=(float)$columns[2]; 
    } 
    echo $totalCost; // This will give you total value 
} 

?>