2017-02-04 62 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,該字符串被默默地轉換爲一個數組,而不發出任何警告或錯誤。

我希望這會消除你的疑惑。