我收到错误:
Parse error: syntax error, unexpected T_STRING in /mysite/my_library.php on line 43
但是,我在代码中找不到任何synatx错误:
/*
* Get Full Filter Name from Abbreviation
*/
function getFilterName ($filterAbbreviation) {
$filters = array(
"R" => "Restuarant",
"B" => "Bar",
"S" => "Store",
"L" => "Lodging",
"Q" => "Recreation",
"G" => "Gas Station",
"E" => "Entertainment",
"C" => "Club"
);
return $filters[$filterAbbreviation];
}
/*
* Parse Filterstring
*/
function parseFilterString($filterString) {
$returnVal = "";
$filterLetters = str_split($filterString, 1);
for($x = 0; $x < strlen($filterString); $x++) {
$returnVal .= "(type <=> '" . getFilterName($filterLetters[$x]) . "') OR ";
}
if (strlen($returnVal) > 0) $returnVal = substr($returnVal,0,-4); //remove final " OR " from filterstring
else $returnVal = "type = 'VOID'"; //if everything is filtered, make sure to set type to something not available
return $returnVal;
}
请注意,此代码是从用户使用require()
查询的页面引用的。
答案 0 :(得分:1)
原因(在您的情况下)是您的编辑器在文本中插入了隐藏的字符。 (编辑器是一个计算机程序,有时计算机程序出错了!)。线索是它似乎抱怨空间,但除非被引号包围,否则空格不是字符串,所以有些不对劲。错误的是它不是空间,而是其他东西......
解决方案是删除此隐藏字符。最安全的是删除该行并重新键入 - 但是如果隐藏字符在终点行(CR / CRLF)标记内,最好删除上下行。
因此,选择上面的行,违规行和下面的行(一次性全部,三行一起)。点击“删除”。然后选择TYPE(不剪切和粘贴),但使用键盘键入有问题的线条。
(注意 - 这不起作用,错误行可能只是移动。这是删除无法看到隐藏字符并且只删除它所期望的测试的地方。这样做的诀窍是复制/粘贴所有违规行为将+/- 1行放入另一个文件中,然后在该新文件中键入违规行+/- 1。在您的情况下,您不需要它,我只是为了完整答案而添加。)