Press "Enter" to skip to content

之前提到的PHP5.4一个注意点的update

在之前, 我曾经介绍过, 在PHP5.4中, PHP5.4中一个需要注意的变化(Chained string offsets) , 后续因为大多数人都表示这个变化很敏感, 容易成为坑.. 于是, 我们现在对此做了一些改进.
具体的改变是, 对于一个变量$a, 如果$a是一个字符串, 那么, 对于非数字型索引, 比如$a["foo"], 在isset的时候将返回false, empty返回true, 但是为了兼容已有的代码, 当你获取这个值的时候, 还是会返回$a[0], 不过会额外抛出一个警告信息. 比如:

<?php
$a = "laruence";
var_dump($a["foo"]) ; //PHP Warning:  Illegal string offset 'foo'
//output string(1) "l"
var_dump(isset($a["foo"]));
//false
var_dump(empty($a["foo"]));
//true

Filed in PHP应用, PHP源码分析
with 11 Comments