这是php文件中一行的两个版本:
第一版:
if ($projet['sourceDonnees'] === (string)$CONSTANTS['sourceDonnees_saisie']) {
第二版:
if ($projet['sourceDonnees'] === (string)$CONSTANTS['sourceDonnees_saisie']) {
尽管它们看起来完全相同,但第一个版本的结果为
PHP Parse error: syntax error, unexpected T_STRING
,而第二个版本的效果很好。两者之间的区别在于,第一个版本是粘贴并修改的,而第二个版本则是完全手工编写的。这里发生了什么?注释:该行是从以UTF-8编码的文本文件中复制并粘贴到另一个UTF-8文本文件中的。我在gedit中编写的所有文件都在gedit中完成了所有操作。
最佳答案
当我将第一行复制并粘贴到文本编辑器中并打开“显示不可见字符”选项时,它看起来像这样:
if ($projet['sourceDonnees']•=== (string)$CONSTANTS['sourceDonnees_saisie']) {
注意
•
和]
之间的===
。您的第二行代码显示非常干净。
很多时候,当您从网站复制和粘贴文本时,您会看到不可见的杂散字符。但是,我不知道哪种键盘组合会从头开始复制此内容。
进一步的实验表明此不可见字符为“非ASCII” ... BBEdit 文本编辑器仅将其称为“gremlins”,甚至具有“zap gremlins”功能。
关于php - 如果手动写出相同的行行得通,为什么粘贴行会破坏代码?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15573284/