php 中的数组类型

来源:互联网 发布:p2717h 知乎 编辑:程序博客网 时间:2024/04/25 09:43

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

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

  • 包含有合法整型值的字符串会被转换为整型。例如键名"8" 实际会被储存为8。但是"08" 则不会强制转换,因为其不是一个合法的十进制数值。
  • 浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名8.7 实际会被储存为8
  • 布尔值也会被转换成整型。即键名true 实际会被储存为1 而键名false 会被储存为 0
  • Null 会被转换为空字符串,即键名null 实际会被储存为""
  • 数组和对象不能被用为键名。坚持这么做会导致警告:Illegal offset type



key 为可选项。如果未指定,PHP 将自动使用之前用过的最大integer 键名加上 1 作为新的键名。

<?php$array = array(         "a",         "b",    6 => "c",         "d",);var_dump($array);?>

array(4) {  [0]=>  string(1) "a"  [1]=>  string(1) "b"  [6]=>  string(1) "c"  [7]=>  string(1) "d"}
可以看到最后一个值 "d" 被自动赋予了键名 7。这是由于之前最大的整数键名是 6

0 0