在一个循环中,以下内容以及开头的内容都附加par.fval
到:this.filters
par.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
.