【问题标题】:cfloop index output in function call函数调用中的 cfloop 索引输出
【发布时间】:2015-07-07 12:36:41
【问题描述】:

我有一个循环,我需要将其添加到函数调用的索引中。我该怎么做?

这是我尝试过的,但失败了

<cfloop index="i" from="1" to="#arrayLen(test)#">
    #session_ID & i &.getSessionCount()#
</cfloop>

循环的索引应该输出,以便循环的每次迭代,该行看起来像这样:

#session_ID1.getSessionCount()#
#session_ID2.getSessionCount()#
#session_ID3.getSessionCount()#
#session_ID4.getSessionCount()#

等等。

【问题讨论】:

  • 你能继续使用评估吗?
  • @Kevin B 这似乎给了我正确的输出:#evaluate("session_ID" & i).getSessionCount()# 谢谢你,我现在就去。
  • 过去我曾使用评估来处理此类事情,但不久前我在这里阅读了一篇关于如何避免使用它的帖子!如果您检查此页面“避免评估功能”help.adobe.com/en_US/ColdFusion/9.0/Developing/… 它为您提供了替代方案
  • 这里没有必要使用evaluate(),通常被认为是不好的做法。

标签: coldfusion cfloop


【解决方案1】:

如果需要动态创建变量名,则使用关联数组表示法而不是点表示法,并通过变量所在的范围引用变量。EG:

<cfloop index="i" from="1" to="#arrayLen(test)#">
    <cfset result = variables["session_ID" & i].getSessionCount()>
</cfloop>

【讨论】:

  • 经过更多阅读和使用关联数组表示法查看亚当的示例后,我已经同意了。谢谢大家,我今天把它归结为学习其他新东西。
猜你喜欢
  • 1970-01-01
  • 2018-06-30
  • 1970-01-01
  • 1970-01-01
  • 2016-03-09
  • 2011-10-15
  • 1970-01-01
  • 2019-12-01
  • 1970-01-01
相关资源
最近更新 更多