variables - 动态变量命名和引用 (ColdFusion)

标签 variables dynamic coldfusion

祝大家五一快乐,

几天来一直试图破解这个。我想要做的是使用固定字符串和变量(数字)的组合动态创建一个变量。

我正在查询数据库以获取代理列表,然后我想为每个代理创建单独的变量以保存不同的统计信息。我希望在循环中获取当前统计信息(即创建的票证),然后将每个代理 ID 添加到最后。

我称之为第一个统计数据 GCGet 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/

相关文章:

php - ColdFusion binaryDecode 与 php pack(H*)

regex - 将部分匹配模式保存到变量

PHP 样式表不起作用?

variables - 动态分配的表变量?

java - Java 中的对象命名和继承

javascript - optionHTML 和 innerHTML 覆盖 `<option>` 占位符

c++ - C++ 中对象/类的动态数组

c++ - C++中动态二维数组中的地址

jquery - 在 ColdFusion 中为两家公司部署一个站点的最佳方式是什么?

java - 将 Java 库与 ColdFusion 9 结合使用