Arrays 在给定键值的visual basic数组中查找值

Arrays 在给定键值的visual basic数组中查找值,arrays,multidimensional-array,Arrays,Multidimensional Array,我正在创建一个页面,在每个页面上显示来自15个不同赞助商的4个赞助商广告。广告应该根据赞助的价值来衡量它们出现的频率。我在php中实现了类似的功能,但在ASP中似乎无法实现 这就是我要做的: 1.创建一个赞助商数组,其中一个“列”表示赞助商的价值 2.对数组中赞助的值求和 3.使用总数为数组中的每个赞助商创建一个权重百分比,并将此百分比添加为数组中的附加“列” 4.创建一个新数组,该数组根据赞助商值的权重复制赞助商值 在ASP中,我最终创建了一个三维数组,它根据数据的权重复制了我最初的数据数组。

我正在创建一个页面,在每个页面上显示来自15个不同赞助商的4个赞助商广告。广告应该根据赞助的价值来衡量它们出现的频率。我在php中实现了类似的功能,但在ASP中似乎无法实现

这就是我要做的: 1.创建一个赞助商数组,其中一个“列”表示赞助商的价值 2.对数组中赞助的值求和 3.使用总数为数组中的每个赞助商创建一个权重百分比,并将此百分比添加为数组中的附加“列” 4.创建一个新数组,该数组根据赞助商值的权重复制赞助商值

在ASP中,我最终创建了一个三维数组,它根据数据的权重复制了我最初的数据数组。它似乎起作用了——我可以在遍历我的100行newSponsors数组时写入数组的值

新闻赞助商(n,x,i)=赞助商(x,i)

然后我从100个数字中随机抽取4个,为我的三维数组创建关键点。我被困在如何比较它们的问题上:

SponsorWeight = Sponsors(5,i)

Dim newSponsors(100,5,15)

for i = 0 to SponsorTotalCt
SponsorWeight = Sponsors(5,i)
for w = 1 to SponsorWeight
    for x = 0 to 5
        newSponsors(n,x,i) = Sponsors(x,i)
        value = Sponsors(x,i)
        response.write("Value = " & value & "<br>")
    next
    n = n + 1
next
x = 0
next

但我不知道I值是多少。如何获得它?

好吧,这花了一天半的时间,但我终于想出了这个工作代码——可能不是最有效的方法,但它确实起到了作用:

i = 0
For i = 0 to UBound(Sponsors, 2)
SponsorVal = Sponsors (2,i)
SponsorWeight = Round(SponsorVal/SponsorTotalAmt * 100,0)
Sponsors (5,i) = SponsorWeight

Next

'CREATE NEW ARRAY OF 100 TO RANDOMIZE AND WEIGHT
' n = key in 100 array
' x = key in Sponsors array
' i = row in Sponsors array
' w = weight in Sponsor array

Dim n
Dim x

n = 0
x = 0
i = 0
w = 1
SponsorWeight = Sponsors(5,i)

Dim newSponsors(100,15)

for i = 0 to SponsorTotalCt
SponsorWeight = Sponsors(5,i)
for w = 1 to SponsorWeight
    value = i
    newSponsors(n,0) = value
    response.write(value)
    n = n + 1
next
x = 0
next


' RANDOMIZE A VALUE FROM newSponsors

intHighNumber = n
intLowNumber = 1

pass = "false"

Dim spot(4)

For i = 1 to 4
    Randomize
    spot(i)= Int((intHighNumber - intLowNumber + 1) * Rnd + intLowNumber)
Next

spot1 = spot(1)
spot2 = spot(2)
spot3 = spot(3)
spot4 = spot(4)

Sponsor1 = newSponsors(spot1,0)
Sponsor2 = newSponsors(spot2,0)
Sponsor3 = newSponsors(spot3,0)
Sponsor4 = newSponsors(spot4,0)

'MAKE SURE THAT THERE ARE NO DUPLICATE SPONSORS IN THE 4 RANDOMLY SELECTED

do 
如果新闻赞助商(spot1,0)新闻赞助商(spot2,0)和新闻赞助商(spot1,0)新闻赞助商(spot3,0)和新闻赞助商(spot1,0)新闻赞助商(spot4,0)和新闻赞助商(spot2,0)新闻赞助商(spot3,0)和新闻赞助商(spot2,0)新闻赞助商(spot4,0)和新闻赞助商(spot3,0)新闻赞助商(spot4,0),那么 pass=“true” 其他的 pass=“false” 对于i=1到4 随机化 点(i)=Int((intHighNumber-intLowNumber+1)*Rnd+intLowNumber) 点1=点(1) 点2=点(2) 点3=点(3) 点4=点(4) 赞助商1=新闻赞助商(spot1,0) 赞助商2=新闻赞助商(spot2,0) 赞助商3=新闻赞助商(spot3,0) 赞助商4=新闻赞助商(spot4,0) 下一个 如果结束 循环直到通过=“true”

response.write(“通过:&Pass&“
”) 响应。写入(发起人1&“
”&发起人2&“
”&发起人3&“
”&发起人4) '根据NEWSPONSORS数组调用赞助商数组中的相应值 回复。写(“

”&赞助商(赞助商1,4))
希望有人觉得它有帮助

i = 0
For i = 0 to UBound(Sponsors, 2)
SponsorVal = Sponsors (2,i)
SponsorWeight = Round(SponsorVal/SponsorTotalAmt * 100,0)
Sponsors (5,i) = SponsorWeight

Next

'CREATE NEW ARRAY OF 100 TO RANDOMIZE AND WEIGHT
' n = key in 100 array
' x = key in Sponsors array
' i = row in Sponsors array
' w = weight in Sponsor array

Dim n
Dim x

n = 0
x = 0
i = 0
w = 1
SponsorWeight = Sponsors(5,i)

Dim newSponsors(100,15)

for i = 0 to SponsorTotalCt
SponsorWeight = Sponsors(5,i)
for w = 1 to SponsorWeight
    value = i
    newSponsors(n,0) = value
    response.write(value)
    n = n + 1
next
x = 0
next


' RANDOMIZE A VALUE FROM newSponsors

intHighNumber = n
intLowNumber = 1

pass = "false"

Dim spot(4)

For i = 1 to 4
    Randomize
    spot(i)= Int((intHighNumber - intLowNumber + 1) * Rnd + intLowNumber)
Next

spot1 = spot(1)
spot2 = spot(2)
spot3 = spot(3)
spot4 = spot(4)

Sponsor1 = newSponsors(spot1,0)
Sponsor2 = newSponsors(spot2,0)
Sponsor3 = newSponsors(spot3,0)
Sponsor4 = newSponsors(spot4,0)

'MAKE SURE THAT THERE ARE NO DUPLICATE SPONSORS IN THE 4 RANDOMLY SELECTED

do 
response.write("Pass: " & pass & "<br>")
Response.write(Sponsor1 & "<br>" & Sponsor2 & "<br>" & Sponsor3 & "<br>" & Sponsor4)

'CALL THE APPROPRIATE VALUE IN THE SPONSORS ARRAY BASED ON THE NEWSPONSORS ARRAY
Response.write("<br><br>" & Sponsors(Sponsor1,4))