2013-03-07 40 views
0

我有一個未定義的變量的問題,如果我定義的變量腳本不能正常工作,我知道這是一個簡單的答案我就是找不到它。PHP未定義變量,但腳本工作完美,如果我定義它不起作用的變量

這裏是我的代碼:(我用這個在每個循環)

$weight= ($item['weight']*$item['quantity']); 
$totalweight = ($totalweight + $weight) 

echo $totalweight; 

該腳本可以完美運行,並給了我正確的answerexcept我得到的線未定義的變量錯誤2 $總權重

我試圖設置變量,然後打破計算。

+7

該代碼是沒有意義的。如果你知道'$ totalweight'不存在爲什麼你有'($ totalweight + $ weight)'??? – 2013-03-07 02:15:30

+0

如果變量未分配,第二行的要點是什麼? – Tchoupi 2013-03-07 02:16:06

+1

如果$ totalweight沒有定義,你認爲如何做$ totalweight =($ totalweight + $ weight)? – kennypu 2013-03-07 02:19:23

回答

1

需要初始化變量外循環所以它不是在每個迭代上覆蓋:

$totalweight = 0; 
foreach ($items as $item) { 
    $weight= ($item['weight']*$item['quantity']); 
    $totalweight = ($totalweight + $weight) 
} 

echo $totalweight; 
+0

你撞上了頭,我試圖definfe循環內的變量 – HarryH 2013-03-07 02:26:34

0

你是如何設置變量的? PHP正在生成此通知,因爲您要求它添加$totalWeight$weight,並且它不知道$totalWeight是什麼。

去除這個通知,你可以這樣做:

$totalWeight = 0; 
$weight= ($item['weight']*$item['quantity']); 
$totalweight = ($totalweight + $weight); 

echo $totalweight; 

雖然這可能只是最好改線路爲:

$totalweight = $weight; 

(當然,除非這個代碼在一個循環或運行喜歡)。