碰巧,在编写一些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