上週我正在處理二維數組,無論我嘗試了什麼,我都無法訪問數組中的數據元素。 Coldfusion不斷返回位置1中的「複雜/簡單值」錯誤或elemnet索引等。Coldfusion:二維數組中的元素索引
我移動了一個使用struct發現的不同方法,但我很好奇爲什麼我無法獲得正確的指數。
我試圖在一個文本文件閱讀:現在
<cfset myarr = arraynew(2) />
<cffile action="read" file="#filepath#" variable="filedata" />
<cfloop list="#filedata#" index="line" delimiters="#chr(13)##chr(10)#">
<cfset line = trim(line) />
<cfif line contains "routing number">
<cfset arrayappend(myarr[1], listlast(line, ":")) />
<cfelseif line contains "account number">
<cfset arrayappend(myarr[2], listlast(line, ":")) />
</cfif>
<cfloop index="j" from="1" to="#arraylen(myarr)#" step="1">
<cfoutput>
#listgetat(myarr[line][j])#
</cfoutput>
</cfloop>
</cfloop>
,如果我傾倒了我的陣列,該陣列看起來是正確的
array
1
1 999999999
2 111111111
array
2
1 12345678
2 987654321
然而,嵌套循環上面並沒有得到元素在索引中的正確位置,我不明白爲什麼。
感謝您提供任何幫助或見解。
以上不編譯。 「LISTGETAT函數的參數驗證錯誤」你有原始代碼嗎? – Leigh
你的第二個循環沒有意義。如果添加到myarr [1]和myarr [2]中,當line是文件的LINE ...而不是行號時,爲什麼要在[line] [j]處獲取索引。 j正在循環播放myarr,但是你不想知道myarr [1]或myarr [2]的長度 - 真的需要原始代碼,這很麻煩。 –
只是一個供參考 - 當在一個大文件上逐行循環時......你可以使用這個......它更清潔,你不必擔心分隔符等。做東西 –