经典的 asp 函数类似于 php 的 parse_str()

Classic asp function like php's parse_str()

在经典 asp 中是否有 php 的 parse_str 的等效项?

我有一个像这样的字符串:"key1=value1, key2=value2, key3=value3",我需要将它转换成一个数组或类似的结构,这样我就可以像 a('key1') 或类似的东西一样使用它。 在 php 我喜欢这样:

parse_str(str_replace(",", "&", str_replace(", ", "&", $dn)), $arr);

如何在经典 ASP 中执行此操作?

如果你的 keys/values 中没有逗号,你可以使用 Split() 将字符串分隔成 key/value 对的数组:

a = Split(s, ",")

然后可以进一步拆分=上的每个元素,分别得到key和value:

For Each i In a
    a2 = Split(i, "=")
    ' Now a2(0) = key, a2(1) = value
Next

但是,如果不使用字典对象之类的东西,您将无法通过 "key" 访问它。

我亲自尝试过这个并且对我有用。

s = "key1=value1, key2=value2, key3=value3"
kp = Split(s, ",")
Set d=Server.CreateObject("Scripting.Dictionary")
Dim d

For Each i In kp
   kp2 = Split(i, "=")
   d.Add Trim(kp2(0)) , kp2(1)
   Response.Write("The value of key "&Trim(kp2(0))&" is: " & d.Item(Trim(kp2(0))) &"<br />")
Next

Response.Write("<hr/>Or anywhere else <br/>The value of key2 is: " & d.Item("key2"))

在这里,我使用 Scripting.Dictionary 对象,该对象用于以 key/value 对(称为键和项目)存储信息,就像许多其他语言中的任何其他字典一样。