
如图所示:
为什么结果输出不一样? 求解答
参考资料:
Fixed bug #71266 (Missing separation of properties HT in foreach etc)

如图所示:
为什么结果输出不一样? 求解答
参考资料:
Fixed bug #71266 (Missing separation of properties HT in foreach etc)
|
muziyueJun 2, 2017
1
$tmp 是 String 啊,有什么问题
|
|
2
我猜测是 7.0 之前版本有类型隐形转换把,$tmp[$k]的时候自动把$tmp 转换成 array 了,7.1 没有做类型转换,所以输出就是 string 了
|
|
shoalyJun 2, 2017
4
这个时候 就多么的希望有一个 java 的编译检查, String 对象无法转换成 Array.
|
|
5
Applying the empty index operator to a string (e.g. $str[] = $x) throws a fatal error instead of converting silently to array.
7.1 新特性,现在字符串不会自动转换为数组,跟你发的链接没什么关系 |
|
6
参考:
http://php.net/manual/zh/migration71.incompatible.php#migration71.incompatible.empty-string-index-operator 字符串不再支持空索引操作符 The empty index operator is not supported for strings anymore ¶ 对字符串使用一个空索引操作符(例如$str[] = $x )将会抛出一个致命错误, 而不是静默地将其转为一个数组。 |
|
FelldeadbirdJun 2, 2017
8
学习到了。
|
|
run2Jun 2, 2017
9
觉得挺好,是时候 brew install homebrew/php/php71 了 ( macOS 本地测试环境)
|
|
ichouJun 3, 2017 via iPhone
10
看来 7.1 改动还是挺大的,没记错的话,Array 基本就是重写了
|
|
redrain2016Jun 13, 2017
11
越来越强类型了!
|