在while循环内求和结果

时间:2018-07-31 08:03:08

标签: php

while循环中有以下代码(将数据库中的结果显示到表中):

$count = count($prvi_podatak_ispis); 
for($i = 0; $i < $count - 1; ++$i){
        $sum = $prvi_podatak_ispis[$i] - $prvi_podatak_ispis[$i + 1]; 
        //echo "<font color='red'>" . $sum . '</font><br />';
}

$count2 = count($drugi_podatak_ispis);
for ($k=0; $k < $count2 - 1 ; ++$k) { 
    $sum2 = $drugi_podatak_ispis[$k] - $drugi_podatak_ispis[$k + 1];
    //echo "<font color='blue'>" . $sum2 . '</font><br />';
}

$count3 = count($treci_podatak_ispis);
for ($o=0; $o < $count3 - 1; ++$o) { 
    $sum3 = $treci_podatak_ispis[$o] - $treci_podatak_ispis[$o + 1];
    //echo "<font color='black'>" . $sum3 . '</font><br />';
}

$count4 = count($cetvrti_podatak_ispis);
for ($p=0; $p < $count4 - 1; ++$p) { 
    $sum4 = $cetvrti_podatak_ispis[$p] - $cetvrti_podatak_ispis[$p + 1];
    //echo "<font color='green'>" . $sum4 . '</font><br />'; 
}

如果我在任何 for循环中取消对echo的注释,则结果很好。但是我试图将所有结果汇总为数据库显示的每个结果,例如:

$final = $sum + $sum2 + $sum3 + $sum4;

当我使用echo $final;时,第一个结果为0,但出现错误注意:未定义的变量:可能是第一个结果的sum2,sum,sum3,sum4 。我哪里错了?

4 个答案:

答案 0 :(得分:1)

sum variables全局初始化为$sum = $sum2 = $sum3 = $sum4 = 0。会起作用

答案 1 :(得分:1)

仅在每个循环中添加元素,而不创建值的总和。在循环外将该值设置为0,然后每次使用+=将该值相加...

$sum = 0;
$count = count($prvi_podatak_ispis); 
for($i = 0; $i < $count - 1; ++$i){
        $sum += $prvi_podatak_ispis[$i] - $prvi_podatak_ispis[$i + 1]; 
        //echo "<font color='red'>" . $sum . '</font><br />';
}

始终重复此模式。

答案 2 :(得分:0)

将变量声明为全局变量,例如字符串变量$ str =“”或整数$ i = 0,您可以在for外部访问它

在您的代码中,sum1,sum2等sum变量在For循环中是局部的,作用域在循环中结束

您应该在全局访问它时声明变量

答案 3 :(得分:0)

将sum变量初始化为0,并在每个for循环中更新此唯一变量

$sum = 0;
$count = count($prvi_podatak_ispis); 
for($i = 0; $i < $count - 1; ++$i){
        $sum = $prvi_podatak_ispis[$i] - $prvi_podatak_ispis[$i + 1]; 
        //echo "<font color='red'>" . $sum . '</font><br />';
}

$count2 = count($drugi_podatak_ispis);
for ($k=0; $k < $count2 - 1 ; ++$k) { 
    $sum+= $drugi_podatak_ispis[$k] - $drugi_podatak_ispis[$k + 1];
    //echo "<font color='blue'>" . $sum2 . '</font><br />';
}

$count3 = count($treci_podatak_ispis);
for ($o=0; $o < $count3 - 1; ++$o) { 
    $sum+= $treci_podatak_ispis[$o] - $treci_podatak_ispis[$o + 1];
    //echo "<font color='black'>" . $sum3 . '</font><br />';
}

$count4 = count($cetvrti_podatak_ispis);
for ($p=0; $p < $count4 - 1; ++$p) { 
    $sum+= $cetvrti_podatak_ispis[$p] - $cetvrti_podatak_ispis[$p + 1];
    //echo "<font color='green'>" . $sum4 . '</font><br />'; 
}

现在,您需要什么$ final = $sum