数组

发布时间:2022-07-04 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了数组脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

定义简单数组

有两种方法在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)即@R_902_777@的值

 

有用的数组函数

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

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

 

更多应用:

数组排序函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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) &amp; "<br>"Next

 

将一个字符串分割并返回数组Dim MyArrayMyArray = Split(字符串,分割符)For I = Lbound(MyArray) to Ubound(MyArray) Response.Write MyArray(I) & "<br>"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) & "<br>"NextNext

 

向另一个页面传递数组

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

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

前两种方法很好,但是都比第三种复杂。在这里我们将只介绍第三种,因为它是最简单的。

文件1.asp:<%dim Idim myArray(20)

for I=0 to 20myArray(I)="Item " & Inext%><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 arrStringdim myArraydim I

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

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

脚本宝典总结

以上是脚本宝典为你收集整理的数组全部内容,希望文章能够帮你解决数组所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。