1.key 可以是 integer 或者 string。
(不能用数组和对象作为键(key)。这样做会导致一个警告:Illegal offset type)
2.如果key是一个 integer 的标准表示,则被解释为整数
(例如 "8" 将被解释为 8,而 "08" 将被解释为 "08",
8是标准的ineger,所以为解释为数字8,08不是一个标准的integer,所以被解释为字符串"08")。
3.key 中的浮点数会被取整为 integer。如:7.8 => 7
4.如果对给出的值没有指定键名,则取当前最大的整数索引值,而新的键名将是该值加一。
如果指定的键名已经有了值,则该值会被覆盖。
注意这里最大的整数索引值不一定当前就在数组中。
如曾经最大索引30,中间被删了,只要没对数组重新索引,30仍是最大值。
5.如果给一个当前最大键名是负值的数组添加一个新值,则新生成的的索引将为零(0)。
6.使用 TRUE 作为键名将使 integer 1 成为键名。使用 FALSE 作为键名将使 integer 0 成为键名。
使用 NULL 作为键名将等同于使用空字符串。如 $arr[''] = 123 不等于 $arr[]=123
使用空字符串作为键名将新建(或覆盖)一个用空字符串作为键名的值,这和用空的方括号不一样。
7.给数组赋值的时候,如果数组还不存在,则会新建一个。
如:$arr = explode(',', $str); 会新建一个$arr数组
8.可以用unset()删除数组和数组里的元素。
9.两数组相加 + 运算符把右边的数组元素(除去键值与左边的数组元素相同的那些元素)附加到左边的数组后面,但是重复的键值不会被覆盖。
10.$arr[i] i会被当做常量,如果常量i不存在,则报警告,然后php会把i当做字符串'i'解释执行。
PHP数组
最新推荐文章于 2024-10-05 08:45:32 发布