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

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

본문 바로가기

사이트 내 전체검색

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

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 2,641건 78 페이지
  • RSS
기술자료 목록
1101
MySQL   13581  2012-04-01 12:30  
1100
ClassicASP   15919  2012-04-01 09:14 ~ 2012-04-01 00:00  
1099
PHP   24994  2012-03-31 17:48 ~ 2018-12-17 14:52  
1098
PHP   18605  2012-03-31 11:03  
1097
ClassicASP   19905  2012-03-27 13:14  
1096
PHP   92417  2012-03-26 22:22  
1095
ClassicASP   26475  2012-03-26 20:16  
1094
PHP   52016  2012-03-24 22:40 ~ 2012-03-31 00:00  
열람
ClassicASP   14845  2012-03-24 01:04 ~ 2012-07-30 00:00  
1092
ClassicASP   12180  2012-03-23 23:12  
1091
ClassicASP   15919  2012-03-23 21:03 ~ 2013-11-06 00:00  
1090
.NET   20481  2012-03-21 10:53  
1089
일반   19701  2012-03-21 00:56 ~ 2018-05-25 18:09  
1088
전자결제   14652  2012-03-20 20:32  
1087
전자결제   15898  2012-03-20 20:09  
1086
전자결제   18412  2012-03-20 20:08 ~ 2017-03-10 00:00  
1085
SQL   12093  2012-03-19 21:54  
1084
SQL   13241  2012-03-19 21:40  
1083
SQL   17074  2012-03-19 21:36  
1082
SQL   12719  2012-03-19 20:39  

검색

해피정닷컴 정보

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

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