它是一个解析器错误,还是使用像这样的大括号有用吗?
$x = 1;
{
$x++;
}
据我所知,它的行为就像括号不存在一样,为什么它是有效的语法?
答案 0 :(得分:7)
没有任何隐藏的意义。它更多的是可读性。
检查manual:
任何PHP脚本都是由一系列语句构建的。声明可以 是一个赋值,一个函数调用,一个循环,一个条件语句或 甚至是一无所作的陈述(一个空洞的陈述)。声明 通常以分号结尾。此外,语句可以分组 通过封装一组语句到一个语句组中 花括号。声明组本身也是一种声明。
答案 1 :(得分:2)
其目的是将操作分组,以便在只允许一个操作的地方使用。
if (cond) foo();
等于if (cond) { foo(); }
foo();
等于{ foo(); }
答案 2 :(得分:2)
语句不能像表达式一样组合,你总是可以将语句序列放在一个大括号中的任何地方。
答案 3 :(得分:0)
{
$x++;
}
就像
{$x++;}
就像
$x++;
他们要表示一段代码。
你也可以考虑这个:
if (true) {
$x++;
}
代码具有有效的语法,并且它的行为完全没有" if"条件。您可以使用"有效"和无用的代码一样多。
答案 4 :(得分:-2)
花括号可用于将范围更改为本地范围。因此,如果您在括号中定义一个变量,它将不会在括号
之外