array('0'=>'苹果');这块错了吧,array(0=>'苹果')才是索引数组吧?
3 回答
数组中的key 可以是 integer 或者 string 。value 可以是任意类型。
此外 key 会有如下的强制转换:
1、包含有合法整型值的字符串会被转换为整型。例如键名 "8" 实际会被储存为 8。但是 "08" 则不会强制转换,因为其不是一个合法的十进制数值。
2、浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名 8.7 实际会被储存为 8。
3、布尔值也会被转换成整型。即键名 true 实际会被储存为 1 而键名 false 会被储存为 0。
4、Null 会被转换为空字符串,即键名 null 实际会被储存为 ""。
5、数组和对象不能被用为键名。坚持这么做会导致警告:Illegal offset type。
所以,array('0'=>'苹果');这种写法不是错误写法 ,系统会自动进行数据类型的强制转换。
举报
0/150
提交
取消