php 中的數組類型

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章