2012-07-21 73 views
1

我做一個數組的計算是從MySQL的畫,問題是「被零除」警告警告:除零工作PHP和MySQL

我在這個statment運行的循環

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

這裏$ v正在改變(假設從100到150例如100,101,102,103,...,150)並且$ valuei是$ v的初始值(即100)所以,當計算將開始第一個輸出應爲零,我想這個零,那麼爲什麼它會給出一個警告「除以分區」,並使所有的「$ v」值等於零。

+2

顯示循環的完整代碼 – madfriend 2012-07-21 13:33:06

+1

爲什麼地球上乘以數字字符串?我的意思是,無論如何它肯定會起作用......但是爲什麼? – Dan 2012-07-21 13:37:02

+0

整數太主流了我猜:) – Mahn 2012-07-21 13:41:21

回答

3

該警告表明,在其中一次運行中,$ valuei實際上爲0。

您確定,$ valuei是否已正確初始化? 爲了擺脫的警告,你應該增加這樣做:

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

這樣,警告應該消失。

+0

謝謝安東尼! 你是對的,錯誤是由於$ valuei本身的O值..... 現在一切正常工作...... – Leo 2012-07-21 13:51:12

+0

你非常歡迎。我總是很樂意提供幫助。 :) – ATaylor 2012-07-21 15:10:19

1

如果$valuei最初設定爲$v然後在第一次迭代(x - x) = 0,因此,你除以零(或者更確切地說,是試圖通過東西,這是錯誤的劃分0)。

沒有看到循環的其餘部分我只能推測,但我懷疑你可能要走的方向是在索引'1'而不是'0'開始循環。

此外,爲什麼乘以'100'而不是100?