mat*_*sza 5 php syntax whitespace
在PHP语法中通常会忽略空格,但有几个地方你不能在不影响意义(和结果)的情况下放置空格.
一个例子是:
$a = 5.5; // five and a half (float)
$b = 5 . 5; // "55" (string)
Run Code Online (Sandbox Code Playgroud)
你知道其他任何例子吗?
问题不在于为什么这样工作,但是什么是情况,当省略或放置空格改变程序时,但两个版本在语法上都是正确的.
那个让我疯狂的人.我提出了厄运的空白:
function foo() {
print "I'm foo.";
}
if (something()) {
foo();
}
Run Code Online (Sandbox Code Playgroud)
执行时,错误是:
致命错误:在第6行调用未定义的函数foo()
一个小时后,我发现,错误信息实际上说:
Fatal error: Call to undefined function foo() on line 6
注意双空格:
function foo()
事实证明,通过复制/粘贴上面的代码(格式化highlight_string),一个不间断的空格 ,或者在标识符中0xA0是可接受的,所以函数调用是0xA0foo()代替foo().
在您的示例中,您将单个词汇标记分成两部分(有点像闯入function,func tion空格确实不会以这种方式被忽略)。这并不是很有趣,当事情发生这种情况时,你可以想出很多例子,唯一有趣的任务是尝试找到一个有效的例子(即不是语法错误),但不同,例如:
$a = $x++ + $y; // x is incremented
$b = $x+ + + $y; // x is not incremented
Run Code Online (Sandbox Code Playgroud)