加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

使用 asp 的列表说明

发布时间:2023-10-20 13:04:37 所属栏目:Asp教程 来源:
导读:定义简单数组:有两种方法在asp中定义和初始化数组,让我们看看每种的例子:方法一:MyArray = Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct", "Nov","Dec")数组大小由

定义简单数组:

有两种方法在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) '将数组大小重新定义为20ReDim 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) & "<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.UnlockLocalArray = 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

向另一个页面传递数组

现在有很多种方法向另一页面传递数组,目前有三种方法:

定义一个又逗号分隔的字符串,然后再下一页中用Split函数重新建立数组。

将数组存储在一个Session变量中,然后在下一个页面中调用。

通过表单的隐含区域来传递数组,他们都是自动用逗号分开,然后再用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

%>

<p>

<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>

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章