2个回答
展开全部
PHP 中的数组实际上是一个有序映射。映射是一种把 values
关联到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性。由于数组元素的值也可以是另一个数组,树形结构和多维数组也是允许的。
结构 键(key) => 值(value)
// 键(key)可是是一个整数 integer 或字符串 string
// 值(value)可以是任意类型的值
举例:
$array = array(
"key1" => "val1",
"ke2" => "va;2",
);
注意:
此外 key 会有如下的强制转换:
包含有合法整型值的字符串会被转换为整型。例如键名
"8" 实际会被储存为
8。但是 "08"
则不会强制转换,因为其不是一个合法的十进制数值。
浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名
8.7 实际会被储存为 8。
布尔值也会被转换成整型。即键名
true 实际会被储存为 1
而键名 false 会被储存为 0。
Null 会被转换为空字符串,即键名
null 实际会被储存为 ""。
数组和对象不能被用为键名。坚持这么做会导致警告:Illegal offset type。
如果在数组定义中多个单元都使用了同一个键名,则只使用了最后一个,之前的都被覆盖了。
关联到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性。由于数组元素的值也可以是另一个数组,树形结构和多维数组也是允许的。
结构 键(key) => 值(value)
// 键(key)可是是一个整数 integer 或字符串 string
// 值(value)可以是任意类型的值
举例:
$array = array(
"key1" => "val1",
"ke2" => "va;2",
);
注意:
此外 key 会有如下的强制转换:
包含有合法整型值的字符串会被转换为整型。例如键名
"8" 实际会被储存为
8。但是 "08"
则不会强制转换,因为其不是一个合法的十进制数值。
浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名
8.7 实际会被储存为 8。
布尔值也会被转换成整型。即键名
true 实际会被储存为 1
而键名 false 会被储存为 0。
Null 会被转换为空字符串,即键名
null 实际会被储存为 ""。
数组和对象不能被用为键名。坚持这么做会导致警告:Illegal offset type。
如果在数组定义中多个单元都使用了同一个键名,则只使用了最后一个,之前的都被覆盖了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询