VBScript 提供 Array() 函數快速建立**靜態一維陣列**,若需動態調整大小或多維陣列,必須使用 Dim + ReDim。本文整理語法、輸出範例、動態陣列擴充技巧與多維陣列宣告。
<%
myArray = Array("A", "B", "C", "D")
Response.Write myArray(0) & " " ' A
Response.Write myArray(1) & " " ' B
Response.Write myArray(2) & " " ' C
Response.Write myArray(3) ' D
%>
<%
myArray = Array(111, 222, 333, 444, 555)
For i = 0 To UBound(myArray)
Response.Write myArray(i) & " "
Next
' 輸出: 111 222 333 444 555
%>
<%
Dim SomeArray()
ReDim SomeArray(22) ' 23 個元素 (0-22)
' ... 程式邏輯 ...
ReDim SomeArray(500) ' 擴充至 501 個元素,**資料會遺失**
' 保留資料請用 ReDim Preserve
ReDim Preserve SomeArray(500)
%>
<%
' 固定大小三維陣列 (23 x 15 x 201)
Dim ThreeDimArray(22, 14, 200)
ThreeDimArray(0,0,0) = "Test"
%>
動態多維陣列需先 Dim Arr() 再 ReDim Arr(10, 20, 30),但 ReDim Preserve **只能修改最後一維** 大小。
| 操作 | 語法 | 備註 |
|---|---|---|
| 取得維度數 | UBound(arr, 1) (第一維上界) | 維度索引 1-based |
| 陣列長度 | UBound(arr) - LBound(arr) + 1 | 通常 LBound=0 |
| 清空陣列 | Erase arr | 釋放記憶體,固定大小陣列保留結構 |
| 檢查是否為陣列 | IsArray(arr) | 回傳 Boolean |
| 陣列轉字串 | Join(arr, ",") | 一維陣列專用 |
| 字串轉陣列 | Split(str, ",") | 回傳一維陣列 |
Array() 最簡潔。Dim arr() : ReDim Preserve arr(newUpper)。Scripting.Dictionary (雜湊表) 效能優於陣列搜尋。ByRef 避免複製開銷。