Board logo

標題: 4-1-3 非連續註標陣列 [打印本頁]

作者: 小誌    時間: 2011-4-18 19:42     標題: 4-1-3 非連續註標陣列

4-1-3   非連續註標陣列
當我們在初始陣列並給定陣列元素值時,則元素註標會自動的從0開始編號,每增加一個元素時,註標編號自動依序遞增,而成為連續註標陣列。
有時候,您或許需要以跳號的方式來編排註標,那就可以在初始陣列時給予任何整數的註標指定,這就是非連續註標陣列:
  1. $X[10] =”com”;
  2. $X[20] =”gov”;
  3. $X[50] =”net”;
  4. $X[100] =”tw”;
  5. $X[160] =”int”;
複製代碼
若已經指定了非連續註標陣列,接著又增加了一個沒有指定註標編號的元素時,則此元素的註標會被設定為現有陣列元素中最高索引註標編號加1:
  1. $X[252] =”com”;
  2. $X[20] =”gov”;
  3. $X[100] =”net”;
  4. $X[] =”tw”; //元素註標為252+1->253
複製代碼

作者: 小誌    時間: 2011-4-18 19:43

foreach迴圈的使用
當我們使用標準的for迴圈敘述來輸出陣列內全部的元素時,必須指定for迴圈的計數變數初值與終止條件,這對於連續註標陣列是可行的,但是對非連續註標陣列可就行不通了,因為非連續註標陣列的元素註標示隨意亂跳的,因此,就必須透過「foreach」迴圈敘述來替代for迴圈敘述:
foreach迴圈敘述格式
  1. Foreach(陣列 as $value)
  2. {
  3.      敘述區塊;
  4. }
複製代碼
例如:(ex04_06.php)
  1. <?
  2. $X[252] ="com";
  3. $X[20] ="gov";
  4. $X[100] ="net";
  5. $X[] ="tw";

  6. foreach ($X as $value)
  7. {
  8. echo "$value <br>";
  9. }
  10. ?>
複製代碼
上例中的「$value」只是一個暫存變數,用來臨時裝載陣列中的元素資料值,迴圈每執行一次,「$value」暫存變數的內容就存放不同註標編號內的元素資料值。
當然,foreach迴圈敘述也適用於連續註標陣列:(ex04_07.php)
  1. <?
  2. $Myarray = array("春天","夏天","秋天","冬天");
  3. foreach ($Myarray as $value)
  4. {
  5. echo "$value <br>";
  6. }
  7. ?>
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)