0

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

4

0 回答 0