我正在尝试遍历一个包含我需要显示的列名的数组。用户可以定义自己的列,因此这将是动态列名列表
例如,列名可能是:
["style", "color", "size"]
这些是我需要从名为results
的查询中输出的列名。
我这样做:
<cfset variables.styleText = "">
<cfloop array="#DeserializeJSON(variables.raw.field_names)#" index="x">
<cfset variables.styleText = variables.styleText & "#results." & x &"# ">
</cfloop>
<cfoutout>variables.styleText</cfoutput>
但是这给了我一个错误,因为我不能用quot
aka
Diagnose: A CFML variable name cannot end with a "." character.
The variable results. ends with a "." character.
You must supply an additional structure key or delete the "." character.
问题:
任何人都可以给我一个提示,我需要如何修改它以输出我的results
查询中的值,在这种情况下
#results.style# #results.color# #results.size#
?
谢谢!
答案 0 :(得分:6)
而不是
<cfloop array="#DeserializeJSON(variables.raw.field_names)#" index="x">
<cfset variables.styleText = variables.styleText & "#results." & x &"# ">
</cfloop>
你应该能够做到
<cfloop array="#DeserializeJSON(variables.raw.field_names)#" index="x">
<cfset variables.styleText = variables.styleText & results[x][results.currentrow]>
</cfloop>
或者,如果您只是使用CF9或更高版本
<cfset variables.styleText&=results[x][results.currentrow]>