1

mysql から取得した配列を使用して計算を行っていますが、問題は「ゼロ除算」警告です

このステートメントでループを実行しています

$v = (($v - $valuei)/($valuei) * 100); 

ここで、$v は変化しています (たとえば、100 から 150 まで、たとえば 100、101、102、103、...、150)、$valuei は $v の初期値 (つまり 100) です。出力はゼロである必要があり、そのゼロが必要な場合、「ゼロによる除算」という警告が表示され、すべての「$ v」値がゼロになります。

4

2 に答える 2

4

警告は、$valuei が実際には実行中に 0 であることを示唆しています。

$valuei が正しく初期化されていますか? 警告を取り除くには、do を追加する必要があります。

if($valuei != 0) {
    $v = (($v - $valuei)/($valuei) * '100');
}

このようにして、警告は消えます。

于 2012-07-21T13:38:52.700 に答える
1

最初の反復でif$valueiが最初に then に設定されているため、ゼロで除算しています (または、 0 を何かで除算しようとしていますが、これは間違いです)。$v(x - x) = 0

ループの残りの部分を確認せずに推測することしかできませんが、おそらくあなたが向かっている方向は、「0」ではなくインデックス「1」でループを開始することだと思います。

また、なぜ 100 ではなく '100' を掛けるのでしょうか?

于 2012-07-21T13:37:35.587 に答える