嵌套的pound使用嵌套循环变量在变量周围进行标记

时间:2009-07-28 00:44:32

标签: coldfusion

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

  • 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 ##”

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:6)

这是理解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