ASP - 更改变量名称(编号)或按 asc 顺序向变量添加数字以分配值

ASP - Changing variable name (numbering) or adding numbers to a variable in asc order to assign values

如何更改变量名的升序编号来给它们赋值。例如:car_1、car_2、car_3、car_4.......等等..我的编码是这样的;

for i=1 to 20
var(i) = request.form("car_"i)
next

foreach ......so on........

response.write(var(12) & "<br/>")

我需要一种方法来增加 'car_' 的数量,以便将每辆汽车的值分配给 'var' 数组。我试过这样添加它:

var(i) = request.form("car_"&i)

var(i) = request.form("car_"i"")

和 none 这些工作。非常感谢您帮助解决这个问题。

您可以使用 & 运算符连接 VBScript 中的值。如:

"car_" & i

为了演示,继续 运行 这段代码类似于 this online code editor(我怀疑仅限 IE):

<html>
    <head>
        <script type="text/vbscript">
            For i = 1 To 20
                document.write "car_" & i
                document.write "<br />"
            Next
        </script>
    </head>
    <body>
    </body>
</html>

产生以下输出:

car_1
car_2
car_3
car_4
car_5
car_6
car_7
car_8
car_9
car_10
car_11
car_12
car_13
car_14
car_15
car_16
car_17
car_18
car_19
car_20

同样适用于服务器端 VBScript:

<body>
    <% For i = 1 To 20 %>
        Car_<%=i%><br />
    <% Next %>
</body>

产生相同的输出。

这个例子不是很清楚,理想情况下它可能会更好,但我看得越多,我就越认为你在使用 VBScript,所以我将尝试解释你正在尝试做的事情。

Dim i
Dim min_i: min_i = 1
Dim max_i: max_i = 20
Dim vars(max_i)

For i = min_i To max_i
  vars(i) = Request.Form("car_" & i)
Next
'Returns the value of Request.Form("car_12")
Call Response.Write(vars(12) & "<br />")

该方法很合理,您只需要将 i 的值连接 (&) 到 Request.Forms 值的名称即可。


值得指出的是,这与 @David suggests in 没有什么不同,只是此示例试图通过将值输出到 Array 而不是直接输出来尽可能接近原始要求到响应缓冲区。