如何计算数组内的值?

时间:2014-03-30 17:22:55

标签: php arrays sum

我在计算数组的总值时遇到了麻烦。我不知道如何访问它。贝娄是我的代码:

<?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($ cost)导致:

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) }

我需要在$ cost内获得浮动的总价值。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分: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 :(得分: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   
}

?>