一、數組
1.概念:數組展現的是“鍵與值的對應”,數組就是鍵值對的集合。
2.二維數組:PHP中有8種變量類型,數組可以容納PHP中的所有合法類型,即8種都可以,也就意味着單元的值還可以是數組,
這種情況下稱為“二維數組”。
3.基本概念:PHP語言非常靈活,在C語言、js、java中,數組的索引隻能是數字,而在PHP中,key/index可以是字元串,也
可以是數字。如果索引是純數字,這種數組稱為“索引數組”,否則稱為“關聯數組”。
二、數組的遊标操作
1.current
“目前”的意思,該函數是取出數組内部指針指向的單元的值。
2.key
該函數是取出數組内部指針指向的單元的“鍵”。
3.next
“下一個”,意思是把數組内部的指針往尾部移動一個單元。
4.prev
該函數把指針往頭部移動一個單元。
5.end
該函數把指針指向數組的最後一個單元。
6.reset
該函數可以重置數組的指針的位置,使數組的指針歸0,指向開頭處。
三、foreach
1.當我們需要對數組内部的單元進行循環操作時,便需用到foreach。foreach有兩種文法:
foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement
2.第一種格式周遊給定的 array_expression 數組。每次循環中,目前單元的值被賦給 $value 并且數組内部的指針向前
移一步(是以下一次循環中将會得到下一個單元)。
第二種格式做同樣的操作,隻除了目前單元的鍵名也會在每次循環中被賦給變量 $key。
3.當 foreach 開始執行時,數組内部的指針會自動指向第一個單元。這意味着不需要在 foreach 循環之前調用 reset()。
四、each與list
1.each取出指針所指單元的鍵和值,組合成一個數組傳回,并把指針往尾部移動。如果取不出來單元,則傳回false。
2.each傳回的數組的格式如下:
Array
(
[1] =>單元值
[value] =>單元值
[0] =>單元的鍵
[key] =>單元的鍵
)
3.list能夠給多個變量指派,即把數組的多個單元分别賦給多個值。
4.list的運作機制:
eg:list($a,$b,$c)=array(1=>2,2=>3,0=>1);
首先:不要管右邊的數組,看List裡面的變量,從左到右應該是 $a = arr[0] $b=arr[1] $c=arr[3]
然後:從右到左開始指派,指派的順序是 $c=arr[3] $b=arr[1] $a=arr[0]
五、下标引号的選擇
1.對于數字的索引值,不必加單雙引号,比如1加了單雙引号後為"1",則需要把"1"轉成整型1來尋找該單元,影響了效率。
2.對于字元串的索引值,不加單雙引号時,流程上先了解成常量,如果沒有再當成字元串,效率肯定低。
3.總結:
數組類型的索引,不必加引号;
字元串類型必加,而且優先加單引号。