php array key 的储存规则
程序员文章站
2022-06-02 19:29:12
...
php array key 的存储规则
刚刚写程序遇到php数组取值的问题,发现字符串和数字取出来的是一样的。
key 可以是 integer 或者string。value 可以是任意类型。
此外 key 会有如下的强制转换:
- 包含有合法整型值的字符串会被转换为整型。例如键名 "8" 实际会被储存为 8。但是 "08" 则不会强制转换,因为其不是一个合法的十进制数值。
- 浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名 8.7 实际会被储存为 8。
- 布尔值也会被转换成整型。即键名 true 实际会被储存为 1 而键名 false 会被储存为 0。
- Null 会被转换为空字符串,即键名 null 实际会被储存为 ""。
- 数组和对象不能被用为键名。坚持这么做会导致警告:Illegal offset type。
如果在数组定义中多个单元都使用了同一个键名,则只使用了最后一个,之前的都被覆盖了。 取得时候用整数或者对于的字符串效果是一样的。
$array = array(
1 => "a",
"1" => "b",
1.5 => "c",
true => "d",
);
$array
[1]和$array
["1"],$array
[true]返回的都是d,因为d覆盖了前面的值,而且key1,"1",true,在解释器看来都是1,所以是一样的。
相关文章
相关视频
上一篇: PHP获取图片颜色值
下一篇: 这两种php数组的写法有何不同?
推荐阅读
-
php下判断数组中是否存在相同的值array_unique
-
php使用array_search函数实现数组查找的方法,array_search数组_PHP教程
-
PHP处理JSON字符串key缺少双引号的解决方法_PHP
-
PHP 在数组中搜索给定的简单实例 array_search 函数,数组array_search
-
遭遇php的in_array低性能问题_php技巧
-
PHP:empty,isset,is_null,array(零),array(),array(""),0,"0""""null"NULL的总结
-
自己写的兼容低于PHP 5.5版本的array_column()函数_php技巧
-
php的array_multisort()使用方法介绍_php入门_脚本之家
-
PHP array_multisort() 函数的深入解析_PHP教程
-
PHP中array_keys和array_unique函数源码的分析_PHP