6

昨天我参加了 PHP 开发者职位的面试。我的工作是在非常简单的测试中解决 15 个问题。问题之一是标记所有地方,在给定的示例 PHP 代码中,执行将因致命错误而停止。其中,我将以下内容标记为错误:

$this->someFunction(#);

面试的另一个人告诉我,我错了,因为这不是一个致命的错误。

有人可以启发我,为什么以及如何在 PHP 函数调用中使用哈希 (#)?我从来没有见过这样的结构,谷歌几乎没有告诉我这个(或者我做了错误的搜索)。

4

3 回答 3

7

#字符用于单行注释。

这本身就是一个语法错误,因为没有)

$this->someFunction(#);

这被读作:

$this->someFunction(

但是,如果这之后有行,那就没关系了。例子:

$this->someFunction(#);
    'a', 'b', 'c'
);

#);是一个注释,没有被解析,所以 PHP 看到

$this->someFunction(
    'a', 'b', 'c'
);

这是有效的。

于 2012-10-26T20:13:49.720 回答
4

这将导致“解析错误”,而不是致命的。只需自己检查即可。

于 2012-10-26T20:12:31.250 回答
2

PHP 代码通常使用 C 风格的注释(///* */)。但是,PHP确实使用shell 样式的注释(即#)。因此,#I think PHP is ignoring all my comments是一个有效的评论。

在上面的代码中,你会得到一个致命的语法错误,因为 PHP 只能看到$this->someFunction((没有右括号或分号)。

于 2012-10-26T20:13:58.530 回答