일반적인 배열 선언하기
<%
     '배열선언
     Dim arrData(3)
%>

배열이 선언된 이후부터는 배열 크기가 고정되어 사이즈 조절이 불가능하다.
Error : This array is fixed or temporarily locked

 

동적으로 배열 선언하기
<%
     '변수 선언
     Dim arrData()     '또는 Dim arrData()
 
     '배열 크기 지정
     ReDim arrData(2)
 
     '배열 할당
     arrData(0) = "샘플데이터1"
     arrData(1) = "샘플데이터2"
     arrData(2) = "샘플데이터3"
 
     '배열 크기 변경 
     ReDim arrData(3)
     arrData(3) = "샘플데이터4"
%>

이렇게 선언할 경우 크기 조절이 가능하지만 다시 크기를 변경하게 되면 기존 데이터가 날아가버린다.

 

.add() 또는 .remove() 같은 동작을 위해 배열을 하나씩 늘리거나 줄이거나 하는 동적인 배열이 필요할 경우에는

<%
     Dim arrData()
     Dim item_count, idx
     item_count = 0
 
     '배열 추가
     item_count = item_count + 1
     ReDim Preserve arrData(item_count-1)
     arrData(item_count-1) = "샘플데이터"& item_count
 
     '배열 추가
     item_count = item_count + 1
     ReDim Preserve arrData(item_count-1)
     arrData(item_count-1) = "샘플데이터"& item_count
 
     '배열 추가
     item_count = item_count + 1
     ReDim Preserve arrData(item_count-1)
     arrData(item_count-1) = "샘플데이터"& item_count
 
     '배열 내용 출력
     For idx = 0 To UBound(arrData)
          Response.Write "- "& arrData(idx)&"<br>"
     Next
%>

이와 같이 해주면 기존 데이터를 유지하면서 배열 크기를 늘릴 수 있다.
주의할 점은 변수 선언시 arrData() 처럼 뒤에 () 를 반드시 붙여줘야한다.
Error : Type mismatch
그리고 배열 재선언시 ReDim 다음에 Preserve를 붙여줘야 기존 데이터를 보존할 수 있다.