일반적인 배열 선언하기

<%
 '배열선언
 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를 붙여줘야 기존 데이터를 보존할 수 있다.


참조) http://blog.naver.com/PostView.nhn?blogId=yesdouble&logNo=130147707537