PHP-Manual的學習----【語言參考】----【類型】-----【array數組】

來源:互聯網
上載者:User

標籤:對象   添加   參考   接受   建立   bar   通過   有序   單行   

1.Array 數組  
PHP 中的 數組 實際上是一個有序映射。映射是一種把 values 關聯到 keys 的類型。此類型在很多方面做了最佳化,因此可以把它當成真正的數組,或列表(向量),散列表(是映射的一種實現),字典,集合,棧,隊列以及更多可能性。由於數組元素的值也可以是另一個數組,樹形結構和多維陣列也是允許的。
解釋這些結構超出了本手冊的範圍,但對於每種結構至少會提供一個例子。要得到這些結構的更多資訊,建議參考有關此廣闊主題的其它著作。
2.文法:
定義數組 array()  
可以用 array()  語言結構來建立一個數組。它接受任意數量用逗號分隔的 鍵(key) => 值(value) 對。
array(  key =>  value
     , ...
     )
// 鍵(key)可是是一個整數  integer  或字串  string
// 值(value)可以是任意類型的值
最後一個數組單元之後的逗號可以省略。通常用於單行數組定義中,例如常用 array(1, 2) 而不是 array(1, 2, )。對多行數組定義通常保留最後一個逗號,這樣要添加一個新單元時更方便。
自 5.4 起可以使用短數組定義文法,用 [] 替代 array()。
key 可以是 integer  或者 string 。value 可以是任意類型。
3.此外 key 會有如下的強制轉換:
1.  包含有合法整型值的字串會被轉換為整型。例如鍵名 "8" 實際會被儲存為 8。但是 "08" 則不會強制轉換,因為其不是一個合法的十進位數值。  
2.  浮點數也會被轉換為整型,意味著其小數部分會被捨去。例如鍵名 8.7 實際會被儲存為 8。  
3.  布爾值也會被轉換成整型。即鍵名 true 實際會被儲存為 1 而鍵名 false 會被儲存為 0。  
4. Null  會被轉換為空白字串,即鍵名 null 實際會被儲存為 ""。  
5.  數組和對象不能被用為鍵名。堅持這麼做會導致警告:Illegal offset type。  
如果在數組定義中多個單元都使用了同一個鍵名,則只使用了最後一個,之前的都被覆蓋了。
4.PHP 數組可以同時含有 integer  和 string  類型的鍵名,因為 PHP 實際並不區分索引數組和關聯陣列。
5.key 為可選項。如果未指定,PHP 將自動使用之前用過的最大 integer  鍵名加上 1 作為新的鍵名。
6.數組中可以同時套數組。
7.用方括弧的文法建立/修改
可以通過明示地設定其中的值來修改一個已有數組。
這是通過在方括弧內指定鍵名來給數組賦值實現的。也可以省略鍵名,在這種情況下給變數名加上一對空的方括弧([])。
$arr[key] = value;
$arr[] = value;
// key 可以是  integer  或  string
// value 可以是任意類型的值
如果 $arr  還不存在,將會建立一個,這也是另一種建立數組的方法。不過並不鼓勵這樣做,因為如果 $arr  已經包含有值(例如來自請求變數的 string )則此值會保留而 [] 實際上代表著字串訪問運算子。初始設定變數的最好方式是直接給其賦值。。
要修改某個值,通過其鍵名給該單元賦一個新值。要刪除某索引值對,對其調用 unset()  函數。
8.foreach 控制結構是專門用於數組的。它提供了一個簡單的方法來遍曆數組。
9.為什麼 $foo[bar] 錯了?
應該始終在用字串表示的數組索引上加上引號。例如用 $foo[‘bar‘] 而不是 $foo[bar]。但是為什麼呢?可能在老的指令碼中見過如下文法:
10.

PHP-Manual的學習----【語言參考】----【類型】-----【array數組】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.