94

我得到这个 PHP 错误:

解析错误:语法错误,意外的 T_VARIABLE

从这一行:

$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];

这条线有什么问题吗?

4

3 回答 3

210

在您粘贴的行之前,可能有一个分号或括号缺少一行。

对我来说似乎很好;每个字符串都允许作为数组索引。

于 2009-09-23T09:30:51.247 回答
30

也可以是其他线路。PHP 并不总是那么精确。

可能您只是在上一行缺少分号。

如何重现此错误,将其放入名为的文件中a.php

<?php
  $a = 5
  $b = 7;        // Error happens here.
  print $b;
?>

运行:

eric@dev ~ $ php a.php

PHP Parse error:  syntax error, unexpected T_VARIABLE in
/home/el/code/a.php on line 3

解释:

PHP 解析器将您的程序转换为一系列标记。AT_VARIABLE是 VARIABLE 类型的 Token。当解析器处理令牌时,它会尝试理解它们,如果它收到一个不允许的变量,则会抛出错误。

在上面带有 variable 的简单案例中$b,解析器尝试处理:

$a = 5 $b = 7;

PHP 解析器查看 5 之后的 $b 并说“这是意外的”。

于 2009-09-23T09:29:19.270 回答
2

就我而言,这是 PHP 版本的问题。

我使用的 .phar 文件与 PHP 5.3.9 不兼容。将解释器切换到 PHP 7 确实修复了它。

于 2018-07-18T09:23:12.433 回答