考虑以下代码......
if ($condition); // <-- do not miss semicolon here!
{
//...
}
在块内的代码工作之后。有人可以解释一下我为什么没有语法错误吗?
答案 0 :(得分:3)
我建议你阅读这里的手册:
http://php.net/manual/en/control-structures.if.php
直接询问原因:you don't get a syntax error
?
- &gt;简单,因为没有语法错误!
您的代码是正确的,意思是:
if ($condition) ;
// ^condition ^if true execute that line
//same as
if ($condition)
;
//same example with other line if the condition is true
if ($condition) echo "true";
if ($condition)
echo "true";
因此,如果条件为真,那么你的行会被执行:;
并且没有任何意义。
它与以下相同:;;;;;
它什么都不是!
在大多数情况下,您使用if语句:
if ($condition)
echo $result;
if ($condition) {
echo $result;
}
if ($condition) echo $result;
答案 1 :(得分:1)
因为您可以在{ }
内编写任何代码而不使用 if
检查这个例子:
<?php
{
echo 'Hi Man'; // it print Hi Man (without using if statment)
}
?>