在一个循环中,以下内容以及开头的内容都附加par.fval到:this.filterspar.T
<cfset par.T = this.filters />
<cfset ArrayAppend(par.T[this.name],par.fval)/>
假设所有变量都是最初定义的并par.fval随着每次迭代而变化:
<cfloop ...>
<cfdump var="#this.filters#"/>
<cfset par.T = this.filters />
<cfset ArrayAppend(par.T[this.name],par.fval)/>
</cfloop>
将为每次迭代转储并附加this.filters最后一个值。par.fval
我试图弄清楚为什么我会假设 ColdFusion 会覆盖par.T为一个全新的变量。
缩小范围以删除逻辑:
filtersA:
<cfdump var="#this.filters#">
<cfset par.T = #this.filters# />
<cfset ArrayAppend(par.T[this.name],par.fval)/>
filtersB:
<cfdump var="#this.filters#">
将显示par.fval已附加到this.filters该附加语句中。因此,无论出于何种原因,par.T似乎都不会成为它自己的变量,而是对this.