麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > ASP > 正文

ASP數組全集,多維數組和一維數組

2024-05-04 11:09:44
字體:
來源:轉載
供稿:網友
asp數組是比較好用的裝載大量數據的容器。

1、定義數組

有兩種方式:DIM和REDIM。

DIM定義的是固定個數、數據類型的數組;而REDIM則不同,它可以定義不同類型的數據,也可以定義個數并非固定的數據。比較下面幾個例子。 都合法的例子:


程序代碼
Dim myarray(5,2)
Redim myarray(5,2)


前者錯誤而后者合法的例子:


程序代碼
n=10

Dim myarray(n)
Redim myarray(n,2)


另外REDIM還可以定義未定類型的數組,如:
程序代碼
Redim myarray(10)
 

2、數組個數

在以DIM或REDIM定義數組時指定的下標,表示的是訪問該數組時所容許的最大下標,卻不是該數組的個數。實際上,一維數組個數總是等于(最大下標+1),訪問時是通過下標從0開始逐個訪問的。

比如:
程序代碼
Dim myarray(5)
定義的數組元素有6個,分別是:


引用內容
myarray(0)、myarray(1)、myarray(2)、myarray(3)、myarray(4)、myarray(5)


再如:
程序代碼
Redim thisarray(2,5)
實際上定義了一個(2+1)*(5+1)=1 8的二維數組。

既然如此,那么,可不可義定義一個只有一個元素的數組呢?答案是:不可以。

如前所說,
程序代碼
Redim thisarray(1)
定義的數組實際上有(1+1)個數組元素,但類似于:
程序代碼
Redim thisarray(0)
的語法,錯誤的。所以,不能定義一個只有一個數組元素的數組。 其實,以上說的只是其默認狀況。其實,定義數組可以通過定義下標的起止從而達到定義數組的個數甚至下標的起止編號的。比如:
程序代碼
Redim thisarray(1980 to1990)
就 定義了一個含有11個元素的數組,下標從1980到1990。 

3、關于UBOUND函數

UBOUND返回的是一維數組的最大下標,而不是元素個數。 比如:
程序代碼
Dim Myarray(5)
,那么
程序代碼
UBOUND(Myarray)
返回的值是5,而不是6。 UBOUND也可以應用于二維數組。應用于二維數組時,它返回的是第一個下標的最大值。

比如:
程序代碼
Dim Myarray(6,3)
, 那么
程序代碼
UBOUND(Myarray)
返回的值是6,而不是7,更不是18(6*3=18)。

若要返回第二個下標的最大值,則使用:
程序代碼
UBOUND(Myarray,2)


與UBOUND相對應的是另外一個函數:LBOUND,它返回數組的最小下標。與UBOUND類似,LBOUND(Myarray,2)則返回數組MYARRAY的第二個下標的最小值。所以,準確地說,一維數組Myarray的元素個數為:
程序代碼
UBOUND(Myarray)-LBOUND(Myarray)+1
,而二維數組的元素個數則為:


程序代碼
(UBOUND(Myarray)-LBOUND(Myarray)+1)*(UBOUND(Myarray,2)-LBOUND(Myarray,2)+1)
http://www.knowsky.com/

多維數組依此類推。

4、數組的定義


程序代碼
Dim MyArray
MyArray = Array(1,5,123,12,98)


可擴展數組


程序代碼
Dim MyArray()
for i = 0 to 10
ReDim PReserve MyArray(i)
MyArray(i)=i
next


將一個字符串分割并返回分割結果的數組


程序代碼
Dim MyArray
MyArray = Split(tempcnt,chr(13)&chr(10))
For I = Lbound(MyArray) to Ubound(MyArray)
Response.Write MyArray(I) & "<br>"
Next


5、數組排序函數


程序代碼
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


6、在application和session中使用數組


程序代碼
Application.Lock
Application("StoredArray") = MyArray
Application.Unlock

LocalArray = Application("StoredArray")


覆蓋Application中的數組


程序代碼
Application.Lock
Application("StoredArray") = LocalArray
Application.Unlock


Session使用方法與Application相同

7、從數據庫中把數據導入數組中

這種方法被我經常用于代碼的函數集成中。


程序代碼
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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美三级短视频 | 欧美一区二区精品夜夜嗨 | 毛片在线免费 | 国产成人在线免费看 | 91在线视频观看 | 看免费毛片| 中文字幕在线播放不卡 | 免看黄大片aa | 午夜视频久久 | 色七七网站| 沉沦的校花奴性郑依婷c到失禁 | 日本看片一区二区三区高清 | 中文字幕免费看 | 精精国产xxxx视频在线播放7 | 午夜a狂野欧美一区二区 | 国产一级免费在线视频 | www.99av| 日本欧美一区二区三区在线观看 | 国产99久久 | 黄色一级片在线观看 | 97久久精品一区二区三区观看 | 久草在线手机观看 | 成人小视频在线播放 | 日韩精品 | 欧美一区二区三区久久精品视 | 国产精品99久久久久久大便 | 激情视频导航 | 欧美日韩免费一区二区三区 | 九九热精品在线 | 免费一级在线视频 | 91麻豆精品国产91久久久无需广告 | 在线影院av | 成人毛片100免费观看 | 成人在线免费看 | 欧美成人三级视频 | 91精品观看91久久久久久国产 | 中文字幕网在线 | 亚洲国产资源 | 九九视频久久 | 依依成人精品视频 | 国产亚洲精品视频中文字幕 |