【问题标题】:Classic asp function like php's parse_str()经典的 asp 函数,如 php 的 parse_str()
【发布时间】:2015-09-28 09:44:50
【问题描述】:

经典asp中php的parse_str有什么等价物吗?

我有一个这样的字符串:“key1=value1, key2=value2, key3=value3”,我需要将其转换为数组或类似结构,以便可以像 a('key1') 或类似的东西。 在php中我这样做:

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

如何在经典 ASP 中做到这一点?

【问题讨论】:

    标签: php vbscript asp-classic


    【解决方案1】:

    我亲自尝试过,对我有用。

    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 对象,该对象用于在键/值对(称为键和项)中存储信息,就像许多其他语言中的任何其他字典一样。

    【讨论】:

      【解决方案2】:

      如果您的键/值中没有逗号,您可以使用Split() 将字符串分隔成键/值对数组:

      a = Split(s, ",")
      

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多