key 可以是integer 或者string。value 可以是任意類型。
此外 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