2017-02-04 11 views
4

http://php.net/manual/en/language.types.array.phpPHPの7.1 - 空のインデックスオペレータアレイ

Note: As of PHP 7.1.0, applying the empty index operator on a string throws a fatal error. Formerly, the string was silently converted to an array.

上で述べたように誰かがそれを例にどういう意味を教えていただけますか?

私のコードにどのような影響がありますか?

ありがとうございます! PHP < 7.1では

答えて

3

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

PHPでは> = 7.1これは

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

+0

これは正しいと思います。しかし、エラーが5.6と7.0にも影響することは、[私が見ている](https://3v4l.org/oaadg#output)...? – HPierce

+0

これに代わる解決策はありますか?私はこれを使用していて、変数名を変更できないコードをいくつか持っています。 –

+0

@DevAggarwal:あなたの正確な問題は何ですか? –

0

ドキュメント内の文言は少し奇妙ですが、あなたは空を持っているとき何を7.1に変更することはあるが得られそのようにしてください:3v4l.org/V5YJa

以下のコードをご覧ください:

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

出力:

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には、文字列は静かに警告やエラーを発行せずに配列に変換されます。

これがあなたの疑いを明らかにしてくれることを願っています。