ループでは、次のものが次のように追加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ます。
par.TColdFusion がまったく新しい変数として上書きされると想定していたので、その理由を理解しようとしています。
ロジックを削除するために絞り込む:
filtersA:
<cfdump var="#this.filters#">
<cfset par.T = #this.filters# />
<cfset ArrayAppend(par.T[this.name],par.fval)/>
filtersB:
<cfdump var="#this.filters#">
そのappendステートメント全体に追加par.fvalされたことを示します。this.filtersそのため、何らかの理由で、par.Tのメモリ空間への参照ではなく、独自の変数にならないように見えますthis。