使用多个 `or` 条件解析错误
Parse error using multiple `or` conditions
我在使用多个 or
条件时遇到问题。
代码在这里,很简单:
<?php
$a = "a";
if($a == "a" || $a == "b" || $a == "c" || $a == "d" || $a == "e")
{echo "test";}
?>
但是 PHP 显示此错误:
Parse error: syntax error, unexpected '$a' (T_VARIABLE) in
/home/guest/public_html/or.php on line 5
我假设这是您的代码的摘录,line 5
(很可能)是 $a="a";
所在的行。检查该行之前是否存在不完整的 {}
或缺失的 ;
。
所以我在评论中是对的:这是一个(又一个)隐形角色案例。以下是您的文件中实际存储的内容:
if($a == "a" ||\u00A0$a == "b" ||\u00A0$a == "c" || $a == "d" || $a == "e")
如您所见,$a
前面有两个地方不是普通空格,而是其他字符 - 一个特殊字符,即所谓的 Non-breaking space 字符。它在视觉上与普通空格没有区别,当您将代码粘贴到问题中时,它会被 Whosebug 引擎截断。但这会扰乱解析器解释您的代码的方式 - 因此会出错。
我在使用多个 or
条件时遇到问题。
代码在这里,很简单:
<?php
$a = "a";
if($a == "a" || $a == "b" || $a == "c" || $a == "d" || $a == "e")
{echo "test";}
?>
但是 PHP 显示此错误:
Parse error: syntax error, unexpected '$a' (T_VARIABLE) in /home/guest/public_html/or.php on line 5
我假设这是您的代码的摘录,line 5
(很可能)是 $a="a";
所在的行。检查该行之前是否存在不完整的 {}
或缺失的 ;
。
所以我在评论中是对的:这是一个(又一个)隐形角色案例。以下是您的文件中实际存储的内容:
if($a == "a" ||\u00A0$a == "b" ||\u00A0$a == "c" || $a == "d" || $a == "e")
如您所见,$a
前面有两个地方不是普通空格,而是其他字符 - 一个特殊字符,即所谓的 Non-breaking space 字符。它在视觉上与普通空格没有区别,当您将代码粘贴到问题中时,它会被 Whosebug 引擎截断。但这会扰乱解析器解释您的代码的方式 - 因此会出错。