2011-06-14
定義一個簡單的數組
有兩種方法在asp中定義數組,讓我們看看每種的例子:
方法一:
MyArray = Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct", "Nov","Dec")
方法二:
Dim myArray(2)
myArray(0)="Jan"
myArray(1)="Feb"
動態改變數組的大小
DIM myArray()
REDIM myArray(20) '將數組重新定義為20維
可擴展數組舉例:將數組從0擴展到10
Dim MyArray()
for i = 0 to 10
ReDim Preserve MyArray(i) ‘Preserve 保留原來數據
MyArray(i)=...
next
.................................................................................................
有用的數組函數
Ubound(arrayName)函數
Lbound(arrayName)這個函數是返回數組的上標,也就是數組第一個元素的標記。
.................................................................................................
.................................................................................................
向另一個頁面傳遞數組
現在有很多種方法向另一頁面傳遞數組,目前有三種方法:
定義一個又逗號分隔的字符串,然后再下一頁中用Split函數重新建立數組。
將數組存儲在一個Session變量中,然后在下一個頁面中調用。
通過表單的隱含區域來傳遞數組,他們都是自動用逗號分開,然后再用Split函數重新建立數組。
前兩種方法很好,但是都比第三中復雜。在這里我們將只介紹第三種,因為它是簡單有效的。
1.asp:
<%
dim I
dim myArray(20)
for I=0 to 20
myArray(I)="Item " & I
next
%>
<%
for I=0 to ubound(myArray)
response.write ""
next
%>
以上我們做的是在一個表單中用單獨的隱含域存儲數組中的每個元素,我們再看看下一頁:
2.asp
<%
dim arrString
dim myArray
dim I
arrString=request("myArray")
myArray = split(arrString,",")
for I=0 to ubound(myArray)
response.write "Item "&I&" = " & myArray(I) & "
" & vbCrLf
next
%>
------------------------------------------------
將一個字符串分割并返回分割結果的數組
Dim MyArray
MyArray = Split(tempcnt,chr(13)&chr(10))
For I = Lbound(MyArray) to Ubound(MyArray)
Response.Write MyArray(I) & "
"
Next
數組排序函數
function..Sort(ary)
KeepChecking = TRUE
Do Until KeepChecking = FALSE
KeepChecking = FALSE
For I = 0 to UBound(ary)
If I = UBound(ary) Then Exit For
If ary(I) > ary(I+1) Then
FirstValue = ary(I)
SecondValue = ary(I+1)
ary(I) = SecondValue
ary(I+1) = FirstValue
KeepChecking = TRUE
End If
Next
Loop
Sort = ary
End function..
數組排序函數應用例子
Dim MyArray
MyArray = Array(1,5,123,12,98)
MyArray = Sort(MyArray)
For I = Lbound(MyArray) to Ubound(MyArray)
Response.Write MyArray(I) & "
"
Next
在Application和Session中使用數組
Application.Lock
Application("StoredArray") = MyArray
Application.Unlock
LocalArray = Application("StoredArray")
覆蓋Application中的數組
Application.Lock
Application("StoredArray") = LocalArray
Application.Unlock
Session使用方法與Application相同
從數據庫中把數據導入數組中
Dim MyArray
取出全部記錄
MyArray = RS.GetRows
取出前10項記錄
MyArray = RS.GetRows(10)
For row = 0 To UBound(MyArray, 2)
For col = 0 To UBound(MyArray, 1)
Response.Write (col, row) & "
"
Next
Next
下一條:網站建設常用的知識