不能用[]进行阅读

eri*_*ktm 36 php arrays fatal-error

在我的一个脚本中,我尝试执行以下操作

$data[] = self::get($row['sr_id']); // <-- line 55
Run Code Online (Sandbox Code Playgroud)

但是,PHP不允许我这样做,给我这个错误

致命错误:不能使用[]在第55行的/file.php中读取

self::get函数返回bool或对象.

编辑: get函数创建一个新对象,再次从mysql数据库加载数据.

小智 32

在我的案例中的解决方案是这样的:

  • 坏线:

$this->$ExtraTag[] = $fullscript;

  • 好线路:

$this->{$ExtraTag}[] = $fullscript;

要么

$this->ExtraTag[] = $fullscript;


mar*_*rio 20

$var[]表达式中接受的旧PHP版本允许读取$var内容,无论语法如何.PHP 5.1认为这是非法的.但有时错误是在意图上下文之外触发的.
所以我的猜测(再次:显示更多代码)是前一行包含一个未完成的表达式,$data[]连接.

如果是object属性,你可以将$ data var包装进去{ },但这似乎不是你的问题.(否则第54行中有一些内容,您没有显示.)右侧无法合理地触发错误.即使访问[]整数或对象的数组也不会触发该致命错误.

所以,如果没有任何帮助,请使用array_push().解决PHP问题.