zoukankan      html  css  js  c++  java
  • 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。

    更多应用:

    数组排序函数
    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
    %>
    <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>

  • 相关阅读:
    消息中间件(一)MQ详解及四大MQ比较
    SIP协议
    PAT (Basic Level) Practice 1008 数组元素循环右移问题
    LeetCode-Algorithms 1. 两数之和
    PAT (Basic Level) Practice 1040 有几个PAT
    PAT (Basic Level) Practice 1023 组个最小数
    PAT (Basic Level) Practice 1021 个位数统计
    PAT (Basic Level) Practice 1007 素数对猜想
    PAT (Basic Level) Practice 1006 换个格式输出整数
    PAT (Basic Level) Practice 1004 成绩排名
  • 原文地址:https://www.cnblogs.com/zhangzhu/p/3399553.html
Copyright © 2011-2022 走看看