數組是 PHP 中最重要的數據類型,能夠說是掌握數組,基本上 PHP 一大半問題均可以解決. PHP 數組與其餘編程語言數組概念不同。其餘編程語言數組是由相同類型的元素(element)的集合所組成的數據結構,而 PHP 數組元素能夠爲不一樣類型的元素。所以說 PHP 數組不是純粹的數組,而是哈希 (字典) 更爲恰當.
PHP 數組能夠看成真正的數組,或列表(向量),散列表(是映射的一種實現),字典,集合,棧,隊列以及更多可能性。數組分爲關聯數組 (相似字典) 和索引數組 (純數組,鍵值從數字開始,通常從 0 開始).php
PHP 數組的鍵值僅支持字符串 (string) 和整型 (integer). 其餘類型均會轉換數字或字符串。浮點類型會被轉換爲整型類型的,8.7->8. 布爾類型則會轉換爲整型類型的,true->1, false->0. Null 會被轉換爲空的字符串,數組和對象則不會轉換成爲字符串類型和整型。會拋出一個警告: Illegal offset type.python
注意的是字符串類型假如是有效十進制數字的話,則會轉換爲整型. "8"->8. 若不想轉換則在數字前添加 "+" 符號.git
經過在方括號 ([]) 內指定鍵名來給數組賦值實現的增長和修改元素,也能夠省略鍵名.github
除了對象 (Object) 轉換數組外,對於對於任意 integer,float,string,boolean 和 resource 類型,若是將一個值轉換爲數組,將獲得一個僅有一個元素的數組,其下標爲 0.
(array)$scalarValue 與 array ($scalarValue) 同樣。而對象 (object) 類型轉換爲 array. 其單元爲該對象的屬性。鍵名將爲成員變量名,不過有幾點例外:整數屬性不可訪問;私有變量前會加上類名做前綴;保護變量前會加上一個 '*' 作前綴。這些前綴的先後都各有一個 NULL 字符。這會致使一些不可預知的行爲:算法
建立數組編程
數組分割segmentfault
數組隊列或棧操做數組
數組數學運算數據結構
數組鍵值操做app
數組元素操做
數組交集與差集,合併
數組排序
回調函數處理數組
數組替換
數組指針操做
其餘
extract (array &$array [, int $flags = EXTR_OVERWRITE [, string $prefix = NULL]] ) : int — 從數組中將變量導入到當前的符號表