5

这是 php 文件中一行的两个版本:

第一个版本:

if ($projet['sourceDonnees'] === (string)$CONSTANTS['sourceDonnees_saisie']) {

第二个版本:

if ($projet['sourceDonnees'] === (string)$CONSTANTS['sourceDonnees_saisie']) {

虽然它们看起来相同,但第一个版本的结果是 a PHP Parse error: syntax error, unexpected T_STRING,而第二个版本工作正常。两者的区别在于第一个版本是粘贴和修改的,而第二个版本是完全手写的。这里发生了什么?

注意:该行是从以 UTF-8 编码的文本文件中复制的,并粘贴到另一个 UTF-8 文本文件中。在 gedit 中完成的所有操作,这两个文件都是我在 gedit 中编写的。

4

3 回答 3

5

您复制了 UTF-8 引号,PHP 无法解析这些引号。删除引号并将它们替换为 ASCII 等效项(即通过键入它们)。

有关 ASCII 与 UTF-8 引号的更多信息,请参阅http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html

于 2013-03-22T14:51:47.057 回答
3
于 2013-03-22T15:01:01.397 回答
0

unexpected T_STRING通常是您的引号或刻度线的问题。您复制的代码中的's 是 UTF-8,可能是 PHP 无法解析的引用版本,就像我们在 SO 上用于内联代码的反引号一样。尝试将它们更改为常规单引号,它可能会解决您的问题。

如果不是这种情况,请确保您没有错过函数末尾的分号。这可能会导致相同的错误。

于 2013-03-22T14:58:25.040 回答