2014-04-09 39 views
-2

我仍然非常學習PHP的,我一直在努力得到以下的工作,我希望有人會沒有地方我已經錯了,PHP如果else語句需要一些幫助,請

預先感謝您

$sageOutput[$sagecount]["paid_yes_no"]= 

if $orders->fields['payment_amount'] = 0 echo 'NOT PAID'; 

else echo 'PAID'; 
+0

什麼在代碼發生了什麼? –

+1

非常感謝這麼多槍 \t $ sageOutput [$ sagecount] [「paid_yes_no」] = $ orders-> fields ['payment_amount'] == 0? '不支付':'支付'; –

回答

2

更好地遵循語法

if($orders->fields['payment_amount'] == 0) 
    echo 'NOT PAID'; 
else 
    echo 'PAID'; 

,而你檢查的條件總是使用==

+0

* + 1 *:這是正確的,但我只是使用大括號來顯式定義塊(這樣,您也可以在'if' /'else'塊下執行多個語句)。 –

+0

您好,非常感謝您的回覆 我試過 $ sageOutput [$ sagecount] [ 「paid_yes_no」] = \t \t如果($訂單 - >域[ '支付金額'] == 0) 回聲「未支付'; else echo'PAID'; 但仍然有錯誤? –

+0

@TicRacing:在嘗試使用PHP進行編程之前,您應該首先學習PHP。這個社區非常渴望協助和解釋,但它不是「請寫我的代碼」 - 網站。爲了正確學習PHP,你應該得到一本好書(PHP手冊也是一個很好的參考)。但要開始,你可以試試[CodeAcademy](http://www.codecademy.com/tracks/php)。 –

2

你正在做一個賦值(用=)而不是比較(用==)。

另請始終使用{}來包裝您的if-else-blocks。問蘋果goto失敗:-)

if($x == "something") { 
    do this; 
} else { 
    do that; 
} 

是更好的閱讀。

最後但並非最不重要的回聲會將內容發送到客戶端(網絡瀏覽器),而不僅僅將其分配給變量。

0

寫這個的最好方法是

$sageOutput[$sagecount]["paid_yes_no"]= $orders->fields['payment_amount'] == 0 ? 'PAID' : 'NOT PAID' 
+2

「*寫這個*的最好方法」 - 我同意三元表達式更短,但如果它影響可讀性,我寧願使用'if' /'else'塊代替:) –

+0

我同意@AmalMurali,但這取決於編碼的風格 – Guns

0

試試這個:

if($orders->fields['payment_amount'] == 0){ 
    echo "Not Paid"; 
}else{ 
    echo "Paid"; 
} 

使用=作爲時要小心:

$a = 0; // Assignment 
$a == 0; // Equal 
$a === 0; // Identical 
0

嘗試 如果你wnat店價值根據條件$sageOutput[$sagecount]["paid_yes_no"]然後

if ($orders->fields['payment_amount'] == 0) 
    $sageOutput[$sagecount]["paid_yes_no"] = 'NOT PAID'; 
else 
    $sageOutput[$sagecount]["paid_yes_no"]= 'PAID'; 

如果要使用條件回波值,然後嘗試

if ($orders->fields['payment_amount'] == 0) 
    echo 'NOT PAID'; 
else 
    echo 'PAID';