asp数组的使用介绍 定义简单数组 有两种方法在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) & "
" Next将一个字符串分割并返回数组复制代码 代码如下:Dim MyArray MyArray = Split(字符串,分割符) For I = Lbound(MyArray) to Ubound(MyArray) Response.Write MyArray(I) & "
" Next在Application和Session中使用数组Application.LockApplication("StoredArray") = MyArrayApplication.Unlock LocalArray = Application("StoredArray") 覆盖Application中的数组Application.LockApplication("StoredArray") = LocalArrayApplication.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) & "
"NextNext 向另一个页面传递数组 现在有很多种方法向另一页面传递数组,目前有三种方法: 定义一个又逗号分隔的字符串,然后再下一页中用Split函数重新建立数组。将数组存储在一个Session变量中,然后在下一个页面中调用。通过表单的隐含区域来传递数组,他们都是自动用逗号分开,然后再用Split函数重新建立数组。 前两种方法很好,但是都比第三中复杂。在这里我们将只介绍第三种,因为它是最简单最有效的。 1.asp:<%dim Idim myArray(20) for I=0 to 20myArray(I)="Item " & Inext%>
<%for I=0 to ubound(myArray)response.write ""next%>

以上我们做的是在一个表单中用单独的隐含域存储数组中的每个元素,我们再看看下一页: 2.asp<%dim arrStringdim myArraydim I arrString=request("myArray")myArray = split(arrString,",") for I=0 to ubound(myArray) response.write "Item "&I&" = " & myArray(I) & "
" & vbCrLfnext%>