在PHP的函数调用中使用哈希?

时间:2012-10-26 20:08:33

标签: php function

昨天我参加了PHP开发人员职位的采访。我的工作是在非常简单的测试中解决15个问题。其中一个问题是标记所有位置,在给定的示例PHP代码中,执行将通过致命错误停止。其中,我标记为错误的东西:

$this->someFunction(#);

接受采访的另一个人告诉我,我错了,因为这不是一个致命的错误。

有人能让我高兴吗,为什么以及如何在PHP函数调用中使用哈希(#)?我从来没有见过像这样的结构,谷歌告诉我的不是什么(或者我做错了搜索)。

3 个答案:

答案 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或分号)。