Arrays Coldfusion:二维数组中元素的索引
在过去的一周里,我使用了一个2D数组,无论我做了什么尝试,我都无法访问数组中的数据元素。Coldfusion不断返回位置1中元素的“复杂/简单值”错误或索引,等等 我在上一篇文章中发现了一个使用struct的不同方法,但是我很好奇为什么我不能得到正确的索引 我试图在文本文件中读取:Arrays Coldfusion:二维数组中元素的索引,arrays,coldfusion,Arrays,Coldfusion,在过去的一周里,我使用了一个2D数组,无论我做了什么尝试,我都无法访问数组中的数据元素。Coldfusion不断返回位置1中元素的“复杂/简单值”错误或索引,等等 我在上一篇文章中发现了一个使用struct的不同方法,但是我很好奇为什么我不能得到正确的索引 我试图在文本文件中读取: <cfset myarr = arraynew(2) /> <cffile action="read" file="#filepath#" variable="filedata" />
<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>
但是,上面的嵌套循环没有得到元素在索引中的正确位置,我不明白为什么
感谢您提供的帮助或见解。您的逻辑毫无意义:
arraylen(myarr)
),然后将该变量用作数组第二个维度的索引我可以建议您修改您的问题,以描述您实际想要实现的目标,并首先根据注释中的所有建议修改代码。然后发布实际编译的代码。上述内容不编译。“LISTGETAT函数的参数验证错误”你有原始代码吗?你的第二个循环没有意义。如果你在myarr[1]和myarr[2]中添加,为什么要在[line][j]处获取索引,而line是文件的一行……不是行号。而且j在myarr的一个数组上循环,但你不想知道myarr[1]或myarr[2]的长度吗-真的需要原始代码,这是相当混乱。仅供参考-当在一个大文件上逐行循环时…你可以使用它…它更干净,你不必担心分隔符等。做一些我建议的小步骤。首先声明一个2D数组,看看arrayappend函数是否工作。它可能不工作。怎么样每次读取一行时,请使用ListToArray()在它上面?一个成批ACH数据的文本文件。我没有实际的代码可以发布,因为我最终选择了另一个方向,并放弃了我一直在研究的数组代码。谢谢你的回答。我不想在这个问题上浪费任何人的时间。对。因此,请输入一个答案并关闭该问题,或者删除它。不要留下它四处闲逛,因为人们会认为它仍然需要回答。建议删除它。
array
1
1 999999999
2 111111111
array
2
1 12345678
2 987654321