【发布时间】:2015-09-17 09:56:38
【问题描述】:
这是一个解析器错误,还是像这样使用大括号有什么用处?
$x = 1;
{
$x++;
}
据我所知,它的行为就像括号不存在一样,那么为什么它是有效的语法?
【问题讨论】:
-
它定义了一个代码块。如果你在它上面放一个
if ($condition),如果条件为真,整个块将被执行,而不是只执行第一个表达式。
标签: php
这是一个解析器错误,还是像这样使用大括号有什么用处?
$x = 1;
{
$x++;
}
据我所知,它的行为就像括号不存在一样,那么为什么它是有效的语法?
【问题讨论】:
if ($condition),如果条件为真,整个块将被执行,而不是只执行第一个表达式。
标签: php
没有任何隐藏的含义。它更多的是关于可读性。
查看manual:
任何 PHP 脚本都是由一系列语句构成的。一个声明可以 是赋值、函数调用、循环、条件语句或 甚至是一个什么都不做的语句(一个空语句)。声明 通常以分号结尾。此外,语句可以分组 通过将一组语句封装成一个语句组 花括号。语句组本身也是一个语句。
【讨论】:
其目的是将操作分组,以便在只允许一项操作的地方使用。
if (cond) foo(); 等于 if (cond) { foo(); }foo(); 等于 { foo(); }
【讨论】:
语句不能像表达式一样组合,你总是可以将一系列语句放在一个语句可以去的任何地方,方法是将它们括在一组花括号中。
【讨论】:
{
$x++;
}
就像
{$x++;}
就像
$x++;
它们表示代码块。
你也可以这样考虑:
if (true) {
$x++;
}
该代码具有有效的语法,并且在没有“if”条件的情况下它的行为完全一致。您可以随心所欲地使用“有效”和无用的代码对代码多收费用。
【讨论】:
大括号可用于将范围更改为本地范围。因此,如果您在括号中定义一个变量,它将在括号外不可用
【讨论】: