在编写一些PHP代码时,我不小心在if语句后面添加了分号;
。例如:
if($a > 1);
{
....
}
我认为PHP应该在这种情况下引发错误,但事实并非如此。这种语法应该有意义,我只是想知道它是什么。
对于我所看到的情况,当;
被添加时,情况似乎总是如此,但我不确定这是什么意思。
答案 0 :(得分:14)
单个;
可以读作“空语句”和
if($a > 1);
{
....
}
相当于
if($a > 1)
; // execute an empty statement if $a > 1
// then execute the following block of code.
{
....
}
我可以看到,当添加
时,情况似乎总是如此;
似乎只是因为无论if语句如何都执行了块。
答案 1 :(得分:1)
添加分号基本上会在大括号之前结束if块。事实并非如此,只是你在if中没有做任何事情。
如果你没有大括号,就这样想想:
if($a>1)
echo "Yes";
echo "No";
在if中的第一个分号前做所有事情。所以在你的情况下,在第一个分号前没有任何东西,所以没有任何反应。