最新消息:Rockyxia Web技术博客全新改版,响应式布局满足各种设备各种尺寸的访问需求。

asp数组的使用

后台开发语言 rockyxia 6864浏览 0评论

定义简单数组

有两种方法在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。

更多应用:

数组排序函数

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

向另一个页面传递数组

有很多种方法向另一页面传递数组,比如以下三种:

  • 1、定义一个又逗号分隔的字符串,然后再下一页中用Split函数重新建立数组。
  • 2、将数组存储在一个Session变量中,然后在下一个页面中调用。
  • 3、通过表单的隐含区域来传递数组,他们都是自动用逗号分开,然后再用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
        %>
            <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>

转载请注明:Rockyxia Web技术博客 » asp数组的使用
感谢阅读,如果您发现文章中有表述不准确,欢迎提出来,也欢迎交流相关问题,你可以去这里进行一对一问答交流。

(本篇完)