Max*_*Max 14 arrays coldfusion structure coldfusion-8
给出下面的结构数组:

我可以通过以下方式打印出所有字段中的所有值:
<cfset ColumnNames = structKeyArray(ApiData[1])>
<cfset ColumnLength = ArrayLen(ColumnNames)>
<cfloop from="1" to="#ArrayLen(ApiData)#" index="i">
<cfdump var="#ApiData[i].Created#">
<cfdump var="#ApiData[i].Name#">
...and so on
Run Code Online (Sandbox Code Playgroud)
现在我试图遍历所有字段,这样我就不必实际写出每个字段的名称.我该如何动态执行此操作?就像是:
<cfloop from="1" to="#ArrayLen(ApiData)#" index="i">
<cfloop from="1" to="#ColumnLength#" index="i">
<!---<cfdump var="#ApiData[i]." + "#ColumnNames[i]#" + "#">--->
<!---<cfdump var="#ApiData[i].ColumnNames[i]#">--->
</cfloop>
</cfloop>
Run Code Online (Sandbox Code Playgroud)
我不是ColdFusion的人,只是帮助一个伙伴和ColdFusion语法与.Net非常不同:-)
谢谢您的帮助
Hen*_*nry 22
<cfloop from="1" to="#arrayLen(ApiData)#" index="i">
<cfset data = ApiData[i]>
<cfloop collection="#data#" item="key">
#key#:#data[key]#
</cfloop>
</cfloop>
Run Code Online (Sandbox Code Playgroud)
或者您可以使用CFScript,这应该更容易上手.
for (d in ApiData) // for-in loop for array
{
for (key in d) // for-in loop for struct
{
writeOutput(key & ":" & d[key]);
}
}
Run Code Online (Sandbox Code Playgroud)
使用此链接:http://www.learncfinaweek.com/week1/Looping/