祝大家五一快乐,
几天来一直试图破解这个。我想要做的是使用固定字符串和变量(数字)的组合动态创建一个变量。
我正在查询数据库以获取代理列表,然后我想为每个代理创建单独的变量以保存不同的统计信息。我希望在循环中获取当前统计信息(即创建的票证),然后将每个代理 ID 添加到最后。
我称之为第一个统计数据 GC
为 Get Created
因此,具有当前统计信息和代理 ID 的示例变量将类似于 GC1
.
我在谷歌上搜索并阅读了许多不同的提示、指南等,但其中大多数要么已经过时(2002 年!),要么似乎基于查询和数组。我正在寻找更简单的东西(或者我相信)。
我知道我应该能够使用类似 (AID = Agent ID) 的内容动态创建变量:
<cfset "GC#AID#" = getCreated.RecordCount>
现在,我没有收到任何错误,所以我假设变量被正确创建,但是当我去输出变量时,我真正遇到了问题(或者我认为)。
无论我尝试了多少种不同的方法,输出总是
GC1
.相反,我想要 值 显示的变量,不是 变量名。我知道我不想使用评估,我在其他网站和 SO 上看到了许多关于使用结构符号的例子,但是这些总是与查询结合使用。
我觉得我一定在这里遗漏了一些非常简单的东西。关于如何输出 的任何想法值 在查询上下文之外动态创建的变量?
抱歉冗长的解释,只是想确保我说清楚。
请让我知道是否有任何澄清会有所帮助。
如果相关,我正在使用 ColdFusion 10。
提前致谢!
编辑 1
这是我目前的输出代码:
<cfset test = "GC#variables.AID#">
Test: <cfoutput>#test#</cfoutput>
我意识到这可能不合时宜。
最佳答案
一种选择:
设置动态变量名:
<cfset variables["GC" & AID] = "Testing" />
输出动态变量名的值:
<cfoutput>#variables["GC" & AID]#</cfoutput>
另外一个选项:
设置动态变量名:
<cfset variables["GC#AID#"] = "Testing" />
输出动态变量名的值:
<cfoutput>#variables["GC#AID#"]#</cfoutput>
关于variables - 动态变量命名和引用 (ColdFusion),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18410726/