简单PHP如果语句错误

SoW*_*dly 5 php

我有一个非常简单的IF声明......

if ($key == "listingURL" or 
     $key == "interiorColor" or 
     $key == "engine" or 
     $key == "transmission" or 
     $key == "stockNumber" or 
     $key == "VIN") {
          // Do thing
}
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误......

[23-Apr-2015 13:12:01 UTC] PHP Parse错误:语法错误,xxx行xxx上的意外T_VARIABLE

这是哪一行......

 $key == "stockNumber" or
Run Code Online (Sandbox Code Playgroud)

OR的最大数量是否有限制,或者我错过了正确地看着我的东西?

Fun*_*ner 23

"OR的最大数量是否有限制,或者我错过了正确地看着我的东西?"

不,没有.原因是因为你有一个隐藏的角色:

$key == "transmission" or ? <= right there
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这是 &#65279;

作为Unicode ZERO WIDTH NO-BREAK SPACE字符.

改写:

if ($key == "listingURL" or 
     $key == "interiorColor" or 
     $key == "engine" or 
     $key == "transmission" or
     $key == "stockNumber" or 
     $key == "VIN") {
          // Do thing
}
Run Code Online (Sandbox Code Playgroud)

图片的标题说明:

评论中可以看出:

一旦时间限制结束,我会立即确认这是正确的答案!非常感谢你的帮助.我使用Sublime Text 3,是否有一些简单的方法来检测这些隐藏的字符? - 19分钟前的SoWizardly

因为Notepad++ 有一个名为的插件:HEX-Editor.

您可以通过以下方式下载:扩展程序 - >插件管理器 - >可用.只需选中组合框,HEX-Editor然后单击"安装".在此之后,您可以将文件视图更改为十六进制.

因为Sublime Text还有一个插件,它也是这样做的.

  • @ Fred-ii-感谢您的帮助!我有一些问题让.csv文件导入器工作,看起来这个角色来自我复制+粘贴...这让我意识到这是造成问题的原因...我最终找到了一个不错的PHP从字符串中删除这些字符的脚本,现在一切都按预期工作! (2认同)