2017-02-04 28 views

回答

3

在PHP < 7.1:

$var = 'somestring'; 
$var[] = 'a'; # yields array with two elements ['somestring', 'a'] 

在PHP> = 7.1这会产生

Fatal error: Uncaught Error: [] operator not supported for strings

+0

这听起来没错。但[我看到](https://3v4l.org/oaadg#output)该错误影响5.6和7.0以及......? – HPierce

+0

有没有其他解决方案呢?我有一些代码,我使用这个,我不能改变变量名称。 –

+0

@DevAggarwal:你确切的问题是什么? –

0

在文档中的措辞是有点怪异,但什么7.1改变的是,当你有一个空字符串,然后访问它:3v4l.org/V5YJa

看看下面的代码:

<?php 
$rootbeer = ''; 
$rootbeer[] = 'T'; 
?> 

输出用PHP 7.1.0:

Fatal error: Uncaught Error: [] operator not supported for strings in your_file.php:4 
Stack trace: 
#0 {main} 
    thrown in your_file.php on line 4 

随着PHP版本之前PHP 7.0.1,该字符串被默默地转换为一个数组,而不发出任何警告或错误。

我希望这会消除你的疑惑。