【问题标题】:nested pound signs around variable with nested loop variable带有嵌套循环变量的变量周围的嵌套井号
【发布时间】:2009-07-28 00:44:32
【问题描述】:

我在表单中有一个表,它周围有一个循环,它为所有名称字段(表单变量)设置一个索引,这些字段根据用户输入(用户指示构建多少个表)而更改。 提交后,我会使用这些变量并从中创建一个结构。我知道查询对象已经是一个结构,但我必须让每个表名都是唯一的,然后将它们放入一个结构中,然后我可以重命名以插入数据库。 我的问题是如何正确有效地编写它?我需要一个带有嵌套变量的变量,该变量是我的索引,以使循环中的每次迭代的名称都是唯一的。我尝试了许多磅符号和引号的组合,但无法得到它。 如果有更好的方法来做到这一点,我也愿意! 点符号

  • cfset myStruct#i#=StructNew()>
  • cfset myStruct#i#.ID#i#="#form.myVarA#i##"
  • cfset myStruct#i#.s1#i#="#form.myVarB#i##"
  • cfset myStruct#i#.s2#i#="#form.myVarC#i##"

关联数组表示法

  • cfset myStruct#i#=StructNew()>
  • cfset myStruct#i#[ID#i#]="#form.myVarA#i##"
  • cfset myStruct#i#[s1#i#]="#form.myVarB#i##"
  • cfset myStruct#i#[s2#i#]="#form.myVarC#i##"

非常感谢任何帮助。

【问题讨论】:

    标签: coldfusion


    【解决方案1】:

    这是理解 CFML 中的变量所需的最佳参考:

    http://www.depressedpress.com/Content/Development/ColdFusion/Guides/Variables/Index.cfm

    要回答你的问题,试试这个:

    <cfset myStruct["#i#"] = structNew() />
    <cfset myStruct["#i#"]["ID#i#"] = form["myVarA#i#"] />
    <cfset myStruct["#i#"]["s1#i#"] = form["myVarB#i#"] />
    

    这应该给你:

    myStruct.1.id1 = form.myvarA1 myStruct.1.s11 = form.myvarB1

    【讨论】:

    • 非常感谢 - 就像一个魅力和一个很好的参考!
    • 第一部分不需要 "s 和 #s。
    • 你也可以连接成字符串(我觉得它更易读):form["myVarA" & i]
    • @Patrick - 是的,但我不想半途而废。
    猜你喜欢
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-26
    • 2018-12-25
    相关资源
    最近更新 更多