昨天我参加了PHP开发人员职位的采访。我的工作是在非常简单的测试中解决15个问题。其中一个问题是标记所有位置,在给定的示例PHP代码中,执行将通过致命错误停止。其中,我标记为错误的东西:
$this->someFunction(#);
接受采访的另一个人告诉我,我错了,因为这不是一个致命的错误。
有人能让我高兴吗,为什么以及如何在PHP函数调用中使用哈希(#)?我从来没有见过像这样的结构,谷歌告诉我的不是什么(或者我做错了搜索)。
答案 0 :(得分:7)
#
字符用于单行注释。
这将是一个语法错误,因为没有)
$this->someFunction(#);
读作:
$this->someFunction(
但是,如果此后有线,那就没关系。例如:
$this->someFunction(#);
'a', 'b', 'c'
);
#);
是注释,未解析,因此PHP看到了
$this->someFunction(
'a', 'b', 'c'
);
哪个有效。
答案 1 :(得分:4)
这将导致'解析错误',而不是致命的。只需自己检查一下。
答案 2 :(得分:2)
PHP代码通常使用C风格的注释(//
和/* */
)。但是,PHP 使用shell style comments(即#
)。因此,#I think PHP is ignoring all my comments
是有效的评论。
在上面的代码中,你会得到一个致命的语法错误,因为PHP只看到$this->someFunction(
(没有关闭paren或分号)。