解析错误 - 语法错误,意外T_NS_SEPARATOR

时间:2011-06-07 09:17:47

标签: php error-handling

我在PHP中有这一行:

$bom != b"\xEF\xBB\xBF" 

当我运行它时,我收到错误:

Parse error: syntax error, unexpected T_NS_SEPARATOR in
C:\xampp\htdocs\MediaAlbumWeb\Utils\Utils.php on line 218

php中的T_NS_SEPARATOR是什么,为什么会出乎意料?

2 个答案:

答案 0 :(得分:6)

您的代码中可能有一条未公开的单引号或双引号。

引号之外的b是什么?

如果是比较,可能是:

if($bom != "b\xEF\xBB\xBF")
{
 //code
}

在PHP中重现此错误的简单代码:

<?php
$arg = "'T';                      //this unclosed double quote is perfectly fine.

$vehicle = ( $arg == 'B' ? 'bus' : 'not a bus');

print $vehicle . "\n";            //error is thrown on this line.  

?>

运行它,它会输出错误:

PHP Parse error:  syntax error, unexpected T_NS_SEPARATOR in 
/var/www/sandbox/eric/code/php/run08/a.php on line 6

答案 1 :(得分:0)

你有很多机会做很多Python吗? b“string”不是在PHP中编写字符串的有效方法,尽管它是在Python中。如果您只想要字节,那么您可以将字符串写为:

echo "\xEF\xBB\xBF";

有效。如果你想检查不平等:

if( $bom != "\xEF\xBB\xBF" ) {
}

你还在检查什么?对于字节顺序标记?如果是这样的话:为什么呢?