存儲在數組中的值被稱為數組元素,每個數組元素有一個相關的引索(也稱為關鍵字),可以用來訪問元素。PHP允許間隔性的使用數字或字符串作為數組的引索。使用字符串作為引索更具有意義和便于使用。
數字索引數組:
創建一個數組可以使用如下代碼:
$num = array(1, 2, 3, 4, 5, 6);
以上代碼會創建一個名為 $num 的數組,包含數字從1~6,array() 是一個語言結構,而不是函數。
如果需要按照升序排列數字保存在一個數組中,可以使用 range()函數自動創建這個數組。
$num1 = range(1, 10);
這行代碼將創建一個1~10的數字數組。range()函數也可以對字符進行操作。
要訪問一個數組,可以使用變量名稱和關鍵字或索引的組合來訪問其內容。使用 $num[0] ,就可以使用數組 $num 中的數據了。在PHP中,數字索引的默認值是從0開始的。
$num[0] = 1;
數字數組使用有序的數字作為引索,可以使用 for 循環來顯示數組的內容:
- for ($i = 0; $i<6; i++) {
- echo $num[$i];
- }
非數字索引數組:
在PHP中,數組不需要預先初始化或者創建。
$products[0] = rice;
$products[1] = milk;
這樣就建立了一個數組 $products ,第一行代碼是創建一個只有 rice 元素的數組。
還可以使用 => 將每個變量值與關鍵字關聯起來。
$prices = array('rice' => 10, 'milk' => 20);
和之前一樣,可以使用 $prices[‘rice’] 的方式訪問數組,這也是日常使用中常見的方式。
由于非數字索引數組的索引是關鍵字,所以可以使用 foreach 循環或 list() 和 each() 結構來進行循環訪問。
foreach循環:
- foreach ($prices as $key => $value) {
- echo $key."-".$value."<br />";
- }
each()結構:
- while ($element = each($prices)) {
- echo $element['key'];
- echo "-";
- echo $element['value'];
- echo "<br />";
- }
each() 這個函數將返回數組的當前元素,并將下一個元素作為當前元素。因為在 while 循環中調用 each() 函數,它將按順序返回數組中每個元素,并且當它到達數組末尾時,循環操作終止。
list()結構:
- while(list($produce, $price) = each($pirces) {
- echo "$product - $"proce<br />";
- }
新聞熱點
疑難解答