我有一个二维数组:
ProductAndCompanyHourArray[ProductLoopIndex][CompanyLoopIndex] = getCompanyHourTime;
到目前为止,我正在尝试循环每个维度的2d数组:
ArrayLen(ProductAndCompanyHourArray) - ProductIndex
我如何循环第二位? (不工作和得到长度)
ArrayLen(ProductAndCompanyHourArray[ProductIndex]) ??
答案 0 :(得分:4)
要获取第二个维度的数组长度,只需使用ArrayLen函数:
<cfset DD = [[1,2,3],[4,5,6,7],[8,9],[10]] />
<cfoutput><pre>
DD Length is #ArrayLen(DD)#
<cfloop index="i" from=1 to=#ArrayLen(DD)#>
DD[#i#] Length is #ArrayLen(DD[i])#
</cfloop>
</pre></cfoutput>
该代码有效。如果您没有,请提供完整的相关代码和任何错误消息。
答案 1 :(得分:3)
回应使用Cold Fusion:
关于ColdFusion数组 ColdFusion阵列与传统阵列不同,因为它们是动态的。例如,在传统的数组中,数组大小是恒定且对称的,而在ColdFusion数组中,您可以根据添加或删除的数据使用不同长度的行。 传统的2D阵列就像是由单个单元组成的固定大小的表。 ColdFusion 2D数组实际上是一维数组,包含一系列额外的1D数组。构成一行的每个数组都可以独立于任何其他列进行扩展和收缩。
我会链接到类似问题的答案,应该解决您的问题。
https://stackoverflow.com/a/4111400/967977
链接说明 “你可以得到任何第二维数组的长度为z [n] .length,其中0 <= n&lt; z.length。”