凤来仪

专业的计算机学习网站

首页 > ASP数组的介绍与使用

ASP数组的介绍与使用

点击:732 发布时间:

    一、定义简单数组

    在ASP中,有两种定义和初始化数组的方法,如下所示:

'方法一:
MyArray = Array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")
'数组大小由初始化元素个数决定。
'方法二:
Dim myArray(2) '指定数组大小
myArray(0)="Monday" 
myArray(1)="Tuesday"

    二、数组动态扩展

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("a","b") '一维数组
myArray(1)=Array("c","d") '一维数组
'...

访问的时候,用myArray(x)(y)这样的格式

    四、数组的下标

    用上面的方法定义数组,一维数组的第一个元素的下标是0,最后一个元素的下标就是元素数量-1

    但也可以指定数组的下标,如:

dim MyArray1(3 to 10) '下标从3到10,MyArray(3)即获取第一个元素的值

    Ubound(数组名)函数--返回数组的最后一个元素的下标。

    Lbound(数组名)函数--返回数组的第一个元素的下标,缺省为0。

    五、数组排序函数

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(2,1,4,5,3)
myArray=Sort(myArray) '将数组按升序排列
For I=Lbound(MyArray) to Ubound(MyArray) '输出数组中的各元素
    Response.Write MyArray(I)&chr(32)
Next

    六、Split函数:将一个字符串分割并返回数组

Dim myArray
myArray = Split(字符串,分割符)
For I = Lbound(myArray) to Ubound(myArray) 
    Response.Write myArray(I)&chr(32)
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 '取出全部记录
myArray = RS.GetRows(10) '取出前10项记录
For row = 0 To UBound(MyArray, 2)
    For col = 0 To UBound(MyArray, 1)
        Response.Write (col, row)&chr(32)
    Next
Next