我在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是什么,为什么会出乎意料?
答案 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" ) {
}
你还在检查什么?对于字节顺序标记?如果是这样的话:为什么呢?