自 PHP 7.1 开始,下面这个定义&使用数组的方法
$array = '';
$array['a'] = 'apple';
echo $array['a'];
会爆出错误
PHP Warning: Illegal string offset
PHP Warning: Cannot assign an empty string to a string offset
与这个变量 $array
有关的操作都无法正常进行
这是由于 $array = '';
是相当于定义一个空字符串,不存在键值对的操作,所以无法赋值。但很多旧项目里的定义方法基本如此,而本来这个方法就不是正确的,因为 PHP 7.1 之前的版本对语法的要求没有那么严格,所以没有报错。
综上,在 PHP 7.1 中,请使用 $array = array();
来定义一个数组
文章最后修订于 2017年10月29日
然后现在 $array = []; 这样定义也是阔以的。