尝试在字符串上使用短数组推送语法时,会出现此错误。
例如这个
$foo = 'foo';$foo[] = 'bar'; // ERROR!
我大胆猜测的一个或多个你的
$name,
$date,
$text或
$date2变量已经被初始化为一个字符串。
编辑: 再次查看您的问题,似乎您实际上并不想将它们用作数组,因为您将它们当作更进一步的字符串来对待。
如果是这样,请将您的分配更改为
$name = $row['name'];$date = $row['date'];$text = $row['text'];$date2 = $row['date2'];
似乎PHP 7和使用 empty-index 数组推语法的代码存在一些问题。
明确地说,这些在PHP 7+中可以 正常工作
$previouslyUndeclaredVariableName[] = 'value'; // creates an array and adds one entry$emptyArray = []; // creates an array$emptyArray[] = 'value'; // pushes in an entry
什么是 不工作 正在尝试使用 空指数 上宣布为字符串,数字,对象等,即任何变量推
$declaredAsString = '';$declaredAsString[] = 'value';$declaredAsNumber = 1;$declaredAsNumber[] = 'value';$declaredAsObject = new stdclass();$declaredAsObject[] = 'value';
所有这些都会导致致命错误。


![问题出现:致命错误:[]运算符不支持字符串 问题出现:致命错误:[]运算符不支持字符串](http://www.mshxw.com/aiimages/31/402687.png)
