2013-12-15 31 views
0
$h = 30; 
$flipSum = $h - 1; 

if (5 < print $flipSum) { 
echo "Yes"; 
} 
else { 
echo "No"; 
} 

此文件的輸出爲「29否」。錯誤在哪裏?我希望輸出爲「是」。提供if條件時發生錯誤聲明

另外,我收到錯誤,當我刪除$ h和$ flipSum並將其替換爲像下面這樣的變量。我如何處理包圍?

$h = 30; 

if (1 < print $h - 1) { 
echo "s"; 
} 
else { 
echo "Sa"; 
} 

這是給出相同的輸出「29否」。

謝謝 西

+4

提示:什麼是** **印刷做? – 2013-12-15 22:57:37

回答

3

開幕詞您有條件的應該是:

if (5 < $flipSum) { 

想要是要評估5 < $flipSum,其中$flipSum大概是一些數字。你在做什麼正在評估5 < print $flipSum - 其中print $flipSum的返回值是always1。因此,您將看到No作爲返回值。

更多信息:返回值是29No的原因是因爲 - 在5 < print $flipSum - 2件事情發生(按順序):

  1. 正在打印的$flipSum值 - 因此29
  2. 評估整個條件(至false)並輸入相應的塊 - 因此No
1

if邏輯不要使用print結構,因爲它總是返回1

$h = 30; 
$flipSum = $h - 1; 

if (5 < $flipSum) { 
    echo "{$flipSum}Yes"; 
} else { 
    echo "{$flipSum}No"; 
} 
+0

你能否告訴我,如果'{}'只放置變量的值,或者我們也可以執行算術?像'echo'{$ h-1}是的;' – Asim

+1

不,你不能在那裏執行arithemetics,我只是總是將變量包含到'{}'中以提高可讀性。 – vikingmaster

+0

謝謝!幫助過我。 –