concatenation - 如何在coldfusion中连接两个字符串并将结果用作变量名?

标签 concatenation cfml evaluate

我有一个表单,其中包含许多格式为

  • name="field-1"
  • name="field-2"
  • name="field-3"
  • name="field-4"
  • 等等....

  • 在表单操作页面上,我希望能够使用循环并能够使用循环的索引来连接这样的字符串前缀 <cfset newField = "field-" & #index#>然后使用 #Variables.newField#访问上一页的表单域。

    我一直在玩 Evaluate()功能,但没有运气。我不怎么使用 ColdFusion,所以我可能在语法上有点偏离。

    我如何使用它的一个例子是:
    <cfset newField = "form.field-" & #index#>
    <input type="hidden" 
          name="field-<cfoutput>#index#</cfoutput>" 
          value="<cfoutput>Evaluate(Variables.newField)</cfoutput>">
    

    最佳答案

    对于这种情况,您根本不必使用评估。只需按键名访问变量结构。

    <cfset newField = "form.field-" & index>
    <cfset value = variables[newField]>
    

    要不就
    <cfset value = variables["form.field-#index#"]>
    

    或者如果您不想使用中间变量
    <cfoutput>#variables["form.field-" & index]#</cfoutput>
    

    关于concatenation - 如何在coldfusion中连接两个字符串并将结果用作变量名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15770208/

    相关文章:

    java - 如何在java中将整个第二个数组 append 到第一个数组

    c++ - 通过连接另一个 char* 来初始化 const char*

    arrays - 基于模式匹配的冷融合计数

    Java - 异常评估

    excel - 将函数的文本公式转换为 'real' 公式

    sql - 在 Oracle 中连接和分组多行

    java - Java 中的连接、排序和交换数组

    java - Coldfusion 的任务队列

    arrays - CFML - 数组和范围 - Coldfusion.runtime.Struct 类型的对象不能用作数组

    javascript - 使用递归函数解决了 : How to implement build in function . eval()