2010年5月18日 星期二

ASP 動態增加陣列長度

前面寫了篇 Javascript 動態增加陣列長度
這邊順便記錄一下 ASP 動態陣列的使用方式

一般 vbscript 宣告陣列是 dim Arr(10)
要使用動態陣列有 2個步驟

1. dim Arr()  <-- 這邊不要給陣列長度
2. redim [preserve] Arr(a)  <-- 利用 redim 重新定義陣列長度

ps.1 原先用 dim Arr(f) 方式宣告陣列, f 必須為常數, 也就是 1,2,3,...
  而 redim Arr(a) 方式宣告陣列, a 可以是變數, a = 5, redim Arr(a)

ps.2 preserve 是 option, 代表是否要保留原本陣列中的資料
  如果是多維陣列, 設了 preserve 後, 只能變動最後一維的長度
  (如果 redim 後的陣列長度小於原先長度, 超出長度的資料會消失)

範例 :
<%
   dim MyArray()
   for i=1 to 9
      redim preserve MyArray(i)
      MyArray(i-1) = i*5
   next
   ' 陣列最後長度是10 (0~9)
   ' 所存資料有9個, 依序為5,10,15,...,45
%>

沒有留言:

張貼留言