在经典中的 for...each 循环中包含空白元素 ASP

Include blank elements in for...each loop in Classic ASP

我正在尝试将 VBScript 数组转换为查询字符串以作为 Get 包含在 URL 中。我有:

function array_to_querystring( arrParams )
    dim x : x=1
    for each param in arrParams
        array_to_querystring = "&" & x & "=" & param
        x=x+1
    next
end function

问题是有时一个元素是一个空字符串,我确实想包含它,但我的代码删除了那些。

所以如果我调用 array_to_querystring( array( "", "hello" ) ) 我得到:

&2=hello

我想要的是:

&1=&2=hello

for...each 循环正在删除空字符串参数。知道如何强制它包含它们吗?

不是因为空串,而是你每次迭代都在给函数名赋值

你应该在每次迭代中继续添加到一个字符串,然后在循环后将字符串分配给函数名。

function array_to_querystring( arrParams )
    dim x : x=1
    dim output : output=""
    for each param in arrParams
        output = output & "&" & x & "=" & param
        x=x+1
    next

    array_to_querystring = output
end function