知道,在PHP中,我們可以在「如果」後忽略條件塊大括號只用一個函數/線,「否則,如果」或「其他」標籤,就像這樣:否則如果塊大括號
if (myVal == "1")
doThis();
else if (myVal == "2")
doThat();
else
doNothing();
我問自己,如果是這樣的:
if (myVal == "1")
doThis();
else
if (myVal2 == true)
doThat();
else
doNothing();
是由PHP看作是可以在本:
if (myVal == "1")
{ doThis(); }
else
{
if (myVal2 == true)
{ doThat(); }
else
{ doNothing(); }
}
或這樣的:
if (myVal == "1")
{ doThis(); }
else if(myVal2 == true)
{ doThat(); }
else
{ doNothing(); }
短版:就是「換行」其他人足以將其從一個「if」語句分開後還是會被視爲一個「否則,如果」
編輯我自己的問題得到一個關於我的猜測確認:
if(false)
echo "1";
else
if (false)
echo "2";
else
echo "3";
顯示的是「3」,而被拋出一個錯誤以下因爲有兩個else語句被發現:
if(false)
echo "1";
else
if (false)
echo "2";
else
echo "4";
else
echo "3";
因此,斷線似乎沒有任何區別,唯一重要的是「if」和「else」計數。
明顯的問題:你試過了嗎?爲自己測試它應該相當容易。不過,我覺得我應該表明,不管PHP *是否允許您放棄括號,良好的編程習慣將始終包含它們,即使它們是可選的。根本沒有理由放棄它們,以及爲什麼這是一個糟糕的主意有很多原因。 – Spudley 2013-05-09 14:15:19
也別忘了PHP有一個'elseif()'。如果你使用它,它會消除這個問題中的任何疑問。 – Spudley 2013-05-09 14:16:49
@Spudley事實上,方括號應該始終存在。我會盡力找到一種可以快速測試的情況,如果以前沒有人收到結果,就會發布結果。謝謝 – RelevantUsername 2013-05-09 14:19:16