asp數組的使用介紹

來源:互聯網
上載者:User

定義簡單數組

有兩種方法在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

ReDim Preserve MyArray(i) 'Preserve 保留數組中的原有資料

二維數組

舉例:

dim MyArray(5,10) '定義了一個二維數組

二維賦值舉例:

MYArray(3,3)=100

二維數組還有一種變相的實現方法:

dim MyArray(5)

MyArray(0)=Array(...) '一維數組

MyArray(1)=Array(...)'一維數組

...

訪問的時候,用MyArray(x)(y)這樣的格式

數組的下標

用上面的方法定義數組,每一維數組的第一個元素的下標是0,最後一個元素的下標就是元素數量-1

但也可以指定數組的下標,如:

dim MyArray1(3 to 10) '下標從3到10,MyArray(3)即擷取第一個元素的值

有用的數組函數

Ubound(數組名)函數--返回數組的最後一個元素的下標。

Lbound(數組名)函數--返回數組的第一個元素的下標,預設為0。

更多應用:

數組排序函數
[code]
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) & "<br>"
Next

將一個字串分割並返回數組
複製代碼 代碼如下:Dim MyArray
MyArray = Split(字串,分割符)
For I = Lbound(MyArray) to Ubound(MyArray)
Response.Write MyArray(I) & "<br>"
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) & "<br>"
Next
Next

向另一個頁面傳遞數組

現在有很多種方法向另一頁面傳遞數組,目前有三種方法:

定義一個又逗號分隔的字串,然後再下一頁中用Split函數重建立立數組。
將數組儲存在一個Session變數中,然後在下一個頁面中調用。
通過表單的隱含地區來傳遞數組,他們都是自動用逗號分開,然後再用Split函數重建立立數組。

前兩種方法很好,但是都比第三中複雜。在這裡我們將只介紹第三種,因為它是最簡單最有效。

1.asp:
<%
dim I
dim myArray(20)

for I=0 to 20
myArray(I)="Item " & I
next
%>
<html>
<body>
<form name="testform" method="post" action="2.asp">
<%
for I=0 to ubound(myArray)
response.write "<input type=hidden name=myArray value='" & myArray(I) & "'>"
next
%>
<p>
<input type="submit">
</form>
</body>
</html>

以上我們做的是在一個表單中用單獨的隱含域儲存數組中的每個元素,我們再看看下一頁:

2.asp
<html>
<body>
<%
dim arrString
dim myArray
dim I

arrString=request("myArray")
myArray = split(arrString,",")

for I=0 to ubound(myArray)
response.write "Item "&I&" = " & myArray(I) & "<br>" & vbCrLf
next
%>
</body>
</html>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.