数组

自 5.4 起可以使用短数组定义语法,用 [] 替代 array()

key 可以是 integer 或者 string 。value 可以是任意类型。

此外 key 会有如下的强制转换:

包含有合法整型值的字符串会被转换为整型。例如键名 "8" 实际会被储存为 8。但是 "08" 则不会强制转换,因为其不是一个合法的十进制数值。

浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名 8.7 实际会被储存为 8

布尔值也会被转换成整型。即键名 true 实际会被储存为 1 而键名 false 会被储存为 0

Null 会被转换为空字符串,即键名 null 实际会被储存为 ""。//$array = array( null    =>  "a" );  结果   array(1) {[""]=>string(1) "a"}

数组和对象不能被用为键名。坚持这么做会导致警告:Illegal offset type

$array = array(

    1    =>  "a" ,

    "1"  =>  "b" ,

    1.5  =>  "c" ,

    true  =>  "d" ,

);

var_dump ( $array ); 

上例中所有的键名都被强制转换为 1,则每一个新单元都会覆盖前一个的值,最后剩下的只有一个 "d"

array(1) {

  [1]=>

  string(1) "d"

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容