碰巧,在編寫一些PHP代碼時,我無意中在if語句後面加上了分號;
。例如:if();那麼,分號恰好在括號之後?
if($a > 1);
{
....
}
我認爲在這種情況下PHP應該引發錯誤,但事實並非如此。這種語法應該有意義,我只是想知道它是什麼。
對於我所看到的情況似乎總是如此,當添加;
,但我不確定這一切是什麼意思。
碰巧,在編寫一些PHP代碼時,我無意中在if語句後面加上了分號;
。例如:if();那麼,分號恰好在括號之後?
if($a > 1);
{
....
}
我認爲在這種情況下PHP應該引發錯誤,但事實並非如此。這種語法應該有意義,我只是想知道它是什麼。
對於我所看到的情況似乎總是如此,當添加;
,但我不確定這一切是什麼意思。
單;
可以解讀爲 「空聲明」 和
if($a > 1);
{
....
}
相當於
if($a > 1)
; // execute an empty statement if $a > 1
// then execute the following block of code.
{
....
}
爲了什麼我能看到的情況當似乎總是如此添加
因爲塊不管是if語句的執行似乎只喜歡它。
添加分號基本上會在花括號之前結束if塊。這不是事實,只是你在if中沒有做任何事情。
想想看這樣的,如果你沒有括號:
if($a>1)
echo "Yes";
echo "No";
做的第一分號之前,如果裏面的一切。所以在你的情況下,第一個分號之前什麼都沒有,所以沒有任何反應。
它並不是因爲它有任何神聖的目的,而是從語法的角度來看它是有意義的(或者至少不會導致解析困難)。有時'for'循環不需要body,儘管我更喜歡它用花括號寫成'for($ a; $ b; $ c){}'。 – Matthew 2011-06-02 21:30:40