定义简单数组

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

向另一个页面传递数组

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

定义一个又逗号分隔的字符串,然后再下一页中用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>

asp 数组的更多相关文章

  1. ASP数组全集,多维数组和一维数组[转]

    ASP数组是比较好用的装载大量数据的容器.1 定义数组 有两种方式:DIM和REDIM. DIM定义的是固定个数.数据类型的数组:而REDIM则不同,它可以定义不同类型的数据,也可以定义个数并非固定的 ...

  2. asp数组的使用

    定义简单数组 有两种方法在asp中定义和初始化数组,让我们看看每种的例子: 方法一:MyArray = Array("Jan","Feb","Mar& ...

  3. asp动态数组

    本文所说的 ASP 数组是指在 ASP 中以默认语言 VBScript 为语言的数组. 样例: Dim   MyArray()        for   i   =   0   to   10    ...

  4. ASP 基础一

    ASP是什么? •ASP代表Active Server Pages(动态服务器页面) •需在IIS中运行的程序 我自己的理解就是UI和逻辑代码同在一个页面中,而缺点就是不易维护.code-Behind ...

  5. ASP输出JSON数据及客户端jQuery处理方法

    首先ASP处理JSON需要json官方提供的JSON For ASP 封装类文件,下载地址:http://code.google.com/p/aspjson/downloads/list 下载最新的J ...

  6. asp 与php 的不同之处

    1.asp语句完成后不用加逗号:php要: 2.asp连接字符窜是用&:php用.; 3.asp需要用dim声明变量才能使用:php不用: 4.asp数组用(),php用[]; 5.asp的条 ...

  7. 前端笔记之服务器&Ajax(上)服务器&PHP&数据交互&HTTP

    一.服务器 1.1 什么是服务器,做什么的? 服务器,就是放在机房中的电脑,和我们的电脑的区别在与服务器有固定的IP,服务器的安全性和稳定性相当的高;性能一般就可以了,但是CPU的性能要比普通的客户机 ...

  8. 前端面试准备笔记之JavaScript(01)

    1.1 typeof 能判断哪些类型? typeof可以识别所有的值类型 typeof可以识别函数 //function typeof可以判断是否是引用类型(不可以再细分) //object 1.2 ...

  9. ASP.NET Razor - C# 循环和数组

    语句在循环中会被重复执行. For 循环 如果您需要重复执行相同的语句,您可以设定一个循环. 如果您知道要循环的次数,您可以使用 for 循环.这种类型的循环在向上计数或向下计数时特别有用: 实例 & ...

随机推荐

  1. RABBITMQ安装注意点

    关于 RABBITMQ的配置问题安装问题windows7 和window 10我都试了windows10安装和配置不要出现中文和空格,不然你日寒飞的心都有了ERLANG的安装也是Win7直接默认的路径 ...

  2. WinEdt打开UTF-8文件乱码问题——ctex[转]

    原来这么简单,mark一下! [转自:http://fstang.diandian.com/post/2012-04-17/40030401020] 其实这个问题网上文章已经有一大堆了...我只是记录 ...

  3. 三步走起 提升 iOS 审核通过率 上篇

    <ignore_js_op> Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly 邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明 ...

  4. iOS中常用技术链接

    1.弹幕技术 http://www.jianshu.com/p/f39b8abc8008 2.通过CAGradientLayer制作渐变色效果 http://blog.it985.com/7986.h ...

  5. Ubuntu系列Crontab日记记录

    修改rsyslog文件,将/etc/rsyslog.d/50-default.conf 文件中的#cron.*前的#删掉 重启rsyslog服务service rsyslog restart 重启cr ...

  6. 如何给html元素的onclick事件传递参数(即如何获取html标签的data-*属性)

    现在做的一个小系统为了达到领导所说的很炫的效果有用到Metro UI CSS,但是因为如何给每个磁贴(div标签)的click事件传递参数折腾了蛮久(偶是菜鸟),后来终于找到一个解决方案即通过data ...

  7. Windows phone 之Interaction.Triggers的使用

    两个步骤:1.添加以下两个程序集System.Windows.InteractivityMicrosoft.Expression.Interactions 2.添加xmlns:i="clr- ...

  8. js 的对象--如何定义一个对象

    通过var object={}  对象字面量,可以叫对象直接量来自定义一个对象 对象自面量是一个表达式,这个表达式的每次运算都创建并初始化一个新对象.每次计算对象字面量的时候,也都会计算他的每个属性值 ...

  9. Android Binder机制简单了解

    Binder -- 一种进程间通信(IPC)机制, 基于OpenBinder来实现 毫无疑问, 老罗的文章是不得不看的 Android进程间通信(IPC)机制Binder简要介绍和学习计划 浅谈Ser ...

  10. C语言变量声明加冒号的用法

    有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位.例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可.为了节省存储空间,并使处理简便,C语言又提供了一种数据结构 ...