배열선언 및 사용하기 > 기술자료 | 해피정닷컴

배열선언 및 사용하기 > 기술자료

본문 바로가기

사이트 내 전체검색

배열선언 및 사용하기 > 기술자료

ClassicASP 배열선언 및 사용하기

페이지 정보


본문

1차원 배열의 선언.

<% Dim arrAge(9) %>
이는, arrAge 라는 1차원 배열을 선언하는데, 10개의 값을 가지는 것으로 선언하는 것이다.
배열은 0부터 시작하고, 여기서 9로 지정하였으므로, 0 ~ 9 값이 10개의 값을 가진다.

배열에 값을 넣을때는
<% arrAge(0) = "12" %>
라고 하면 되고,
출력할때는
<% response.write arrAge(0) %>
하면 된다.

그런데, 배열의 이름은 알지만, 몇개의 값이 들어있는지 알 수 없을때는,
아래와 같이 이용할 수 있다.

<%
Dim arrAge, count, i

count = UBound(arrAge)
for i=0 to count
  response.write "<br>" & arrAge(i)
next
%>

여기서 UBound 는 배열의 크기를 체크하는 함수로, 단지 배열에서만 사용하는 것이 아니라,
다음과 같은 경우에도 사용할 수 있다.
그것은, 문자열을 어떤 기준 문자열로 분할하는 함수인 split 함수에서 이용하는 것이다.

<%
a = "A:B"
temp = split(a,":")
count = UBound(temp)
response.Write temp(0) &"<br />"
response.write count &"<br />"
%>

split 함수를 이용해 a 라는 변수에 담긴 문자열을 구분 문자인 : 문자로 나눈 정보를 UBound 로 체크하면,
1 이라는 값이 출력된다.
즉, : 라는 문자가 1개 들어 있다는 뜻이며, 배열로 치자면, 0~1 의 배열을 갖는것과 동일하게 된다.
출력시에도, temp(0) 은 A, temp(1) 은 B 가 된다.

----------------------------------------------
다차원 배열.

배열은 다른 언어에서 사용하는 개념과 동일하다.
다차원 배열은 아래와 같이 선언한다.
<% Dim arrTable(3,9) %>
이렇게 선언되면, 앞쪽이 0~3 까지의 값을 가지는 4개의 값을 가지고,
뒷쪽은 0~9 까지의 값을 가지는 10개의 값을 가진다.
그래서, 이 배열은 4×10= 40 개의 값을 가질 수 있다.

지식이 짧아서인지..
다차원 배열의 크기를 체크하는 함수는 없는듯 하다.

--------------------------------------------
가변배열.

가변 배열이란, 중간에 배열의 크기가 바뀌는 것을 말한다.
ReDim 선언문을 이용해 배열의 크기를 바꾸는 것인데,

<%
Dim colors()
ReDim colors(3)
colors(0) = "Black"
colors(1) = "White"

for i=0 to UBound(colors)
  response.write "<Br>" & colors(i)
next
%>

이렇게 지정된 배열을 변경하면,
<%
ReDim Preserve colors(4)
colors(4) = "Green"

for i=0 to UBound(colors)
  response.write "<Br>" & colors(i)
next
%>

여기서 주의할점은, 최초 배열선언시 Dim colors() 으로 선언한후, ReDim colors(3) 으로 두번에 걸쳐 배열을 선언했다는 점이다.
이유는, 최초 배열 선언시 배열의 크기를 지정해서 선언하면, 잠금 상태가 되어 ReDim 을 사용할 수 없게 되기 때문이다.
따라서, 가변배열로 사용하려면 반드시, 최초 선언시 배열의 크기를 지정하지 않아야 한다.

만약,
최초에 Dim colors(3) 으로 선언한후, 그 하단에서 ReDim colors(4) 로 하려하면 아래의 그림과 같은 에러를 만나게 된다.


그리고, ReDim 을 사용하게 되면, 이전의 배열에 저장되어 있던 값이 사라지게 되는데,
이때, 값이 사라지는 것을 막기 위해서 Preserve 명령을 이용한다.
즉, 아래와 같이

<%
Dim colors()
ReDim colors(3)
colors(0) = "Green"

ReDim Preserve colors(4)
colors(4) = "Yellow"
%>

위처럼 ReDim 과 함께 Preserve 명령을 이용해서 배열의 크기를 바꾸면, 이전의 값이 지워지지 않고 유지된다.
다만, 배열의 크기를 줄이면, 없어진 배열위치의 값은 사라지므로 주의할것


출처
http://fendee.egloos.com/6981166
 

댓글목록

등록된 댓글이 없습니다.


Total 198건 4 페이지
  • RSS
기술자료 목록
138
ClassicASP   17805  2012-06-11 12:09 ~ 2012-06-11 00:00  
137
ClassicASP   13617  2012-06-11 06:55  
136
ClassicASP   13365  2012-05-30 19:50  
135
ClassicASP   24256  2012-05-21 20:28  
134
ClassicASP   18668  2012-05-18 17:28  
133
ClassicASP   19678  2012-05-18 14:28 ~ 2012-05-25 00:00  
132
ClassicASP   20108  2012-04-27 02:31  
131
ClassicASP   53578  2012-04-24 17:51 ~ 2013-05-12 00:00  
130
ClassicASP   15188  2012-04-19 02:17  
129
ClassicASP   15251  2012-04-18 13:41 ~ 2016-03-30 00:00  
128
ClassicASP   29087  2012-04-17 22:22 ~ 2018-07-10 13:40  
127
ClassicASP   13848  2012-04-17 13:55  
126
ClassicASP   20873  2012-04-02 09:26  
125
ClassicASP   15150  2012-04-01 17:00  
124
ClassicASP   15935  2012-04-01 09:14 ~ 2012-04-01 00:00  
123
ClassicASP   19916  2012-03-27 13:14  
122
ClassicASP   26483  2012-03-26 20:16  
열람
ClassicASP   14851  2012-03-24 01:04 ~ 2012-07-30 00:00  
120
ClassicASP   12185  2012-03-23 23:12  
119
ClassicASP   15926  2012-03-23 21:03 ~ 2013-11-06 00:00  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.