ASP 배열은 대용량 데이터를 로드하는 데 비교적 사용하기 쉬운 컨테이너입니다.
1. 배열 정의
DIM과 REDIM의 두 가지 방법이 있습니다.
DIM은 고정된 숫자의 배열을 정의하며, REDIM은 다양한 유형의 데이터를 정의할 수 있으며 숫자가 고정되지 않은 데이터도 정의할 수 있습니다. 다음 예를 비교해 보세요. 모두 합법적인 예:
프로그램 코드
희미한 배열(5,2)
myarray를 Redim(5,2)
전자는 틀리고 후자는 합법인 예:
프로그램 코드
n=10
희미한 배열(n)
myarray를 Redim(n,2)
또한 REDIM은 다음과 같이 결정되지 않은 유형의 배열을 정의할 수도 있습니다.
프로그램 코드
myarray를 Redim(10)
2. 어레이 수
DIM 또는 REDIM을 사용하여 배열을 정의할 때 지정된 첨자는 배열에 액세스할 때 허용되는 최대 첨자를 나타내지만 배열 수는 나타내지 않습니다. 실제로 1차원 배열의 개수는 항상 (최대 첨자 + 1)과 같으며, 0부터 시작하여 첨자를 거쳐 하나씩 접근이 이루어진다.
예를 들어:
프로그램 코드
희미한 배열(5)
다음과 같이 6개의 정의된 배열 요소가 있습니다.
내용 인용
myarray(0), myarray(1), myarray(2), myarray(3), myarray(4), myarray(5)
또 다른 예:
프로그램 코드
이 배열을 Redim(2,5)
실제로 (2+1)*(5+1)=1 8 의 2차원 배열이 정의됩니다.
이 경우, 요소가 하나만 있는 배열을 명확하게 정의할 수 있습니까? 대답은: 아니오입니다.
앞서 언급했듯이,
프로그램 코드
이 배열 Redim(1)
정의된 배열에는 실제로 (1+1) 배열 요소가 있지만 다음과 같습니다.
프로그램 코드
이 배열을 Redim(0)
구문이 잘못되었습니다. 따라서 배열 요소가 하나만 있는 배열을 정의할 수 없습니다. 실제로 위에서 언급한 내용은 기본 상태일 뿐입니다. 실제로 배열을 정의할 때 첨자의 시작과 끝을 정의하여 배열의 수는 물론 첨자의 시작과 끝 번호까지 정의할 수 있습니다. 예를 들어:
프로그램 코드
이 배열을 Redim(1980년부터 1990년까지)
11개의 요소를 포함하는 배열이 정의되며 아래 첨자는 1980년부터 1990년까지입니다.
3. UBOUND 기능에 대하여
UBOUND는 요소 수가 아닌 1차원 배열의 최대 첨자를 반환합니다. 예를 들어:
프로그램 코드
딤 마이어레이(5)
,그래서
프로그램 코드
UBOUND(마이어레이)
반환된 값은 6이 아니라 5입니다. UBOUND는 2차원 배열에도 적용할 수 있습니다. 2차원 배열에 적용하면 첫 번째 인덱스의 최대값을 반환합니다.
예를 들어:
프로그램 코드
딤 마이어레이(6,3)
, 그래서
프로그램 코드
UBOUND(마이어레이)
반환된 값은 7이 아니라 6이며, 18(6*3=18)은 물론입니다.
두 번째 첨자의 최대값을 반환하려면 다음을 사용합니다.
프로그램 코드
UBOUND(마이어레이,2)
.
UBOUND에 해당하는 또 다른 함수인 LBOUND는 배열의 최소 첨자를 반환합니다. UBOUND와 마찬가지로 LBOUND(Myarray,2)는 MYARRAY 배열의 두 번째 첨자의 최소값을 반환합니다. 따라서 정확하게 말하면 1차원 배열 Myarray의 요소 수는 다음과 같습니다.
프로그램 코드
UBOUND(마이어레이)-LBOUND(마이어레이)+1
, 2차원 배열의 요소 수는 다음과 같습니다.
프로그램 코드
(UBOUND(Myarray)-LBOUND(Myarray)+1)*(UBOUND(Myarray,2)-LBOUND(Myarray,2)+1)
http://www.knowsky.com/
다차원 배열 등.
4. 배열의 정의
프로그램 코드
DimMyArray
MyArray = 배열(1,5,123,12,98)
확장 가능한 어레이
프로그램 코드
DimMyArray()
i = 0 ~ 10인 경우
ReDim PReserve MyArray(i)
MyArray(i)=i
다음
문자열을 분할하고 분할 결과의 배열을 반환합니다.
프로그램 코드
DimMyArray
MyArray = 분할(tempcnt,chr(13)&chr(10))
I = Lbound(MyArray)에서 Ubound(MyArray)로
응답.MyArray(I) 및 <br> 쓰기
다음
5. 배열 정렬 기능
프로그램 코드
함수 정렬(ary)
KeepChecking = TRUE
KeepChecking까지 수행 = FALSE
KeepChecking = 거짓
I = 0에서 UBound(ary)까지
I = UBound(ary)이면 다음을 위해 종료합니다.
ary(I) > ary(I+1)이면
FirstValue = ary(I)
SecondValue = ary(I+1)
ary(I) = 두 번째 값
ary(I+1) = FirstValue
KeepChecking = TRUE
종료 조건
다음
고리
정렬 = 아리
기능 종료
배열 정렬 기능 적용 예
프로그램 코드
DimMyArray
MyArray = 배열(1,5,123,12,98)
MyArray = 정렬(MyArray)
I = Lbound(MyArray)에서 Ubound(MyArray)로
응답.MyArray(I) 및 <br> 쓰기
다음
6. 애플리케이션 및 세션에서 배열 사용
프로그램 코드
응용프로그램.잠금
애플리케이션(StoredArray) = MyArray
응용 프로그램.잠금 해제
LocalArray = 애플리케이션(StoredArray)
응용 프로그램의 배열 덮어쓰기
프로그램 코드
응용프로그램.잠금
애플리케이션(StoredArray) = LocalArray
응용 프로그램.잠금 해제
세션 사용법은 애플리케이션과 동일합니다.
7. 데이터베이스의 데이터를 어레이로 가져옵니다.
이 방법은 코드의 기능 통합에서 자주 사용됩니다.
프로그램 코드
DimMyArray
모든 기록 가져오기
MyArray = RS.GetRows
처음 10개의 레코드 가져오기
MyArray = RS.GetRows(10)
행 = 0에서 UBound(MyArray, 2)로
col = 0의 경우 UBound(MyArray, 1)
응답.쓰기(열, 행) & <br>
다음
다음