获取二维数组第二维的长度

5

我有一个二维数组:

ProductAndCompanyHourArray[ProductLoopIndex][CompanyLoopIndex] = getCompanyHourTime;

我正在尝试循环遍历二维数组的每个维度,目前我有以下代码:

ArrayLen(ProductAndCompanyHourArray) - ProductIndex

我该如何循环第二个位?(无法正常工作且获取长度)

ArrayLen(ProductAndCompanyHourArray[ProductIndex]) ??

Olly,什么“不起作用”——你是否收到了错误消息?ArrayLen在2D数组上运行良好。 - Peter Boughton
没问题,谢谢。解决方案是:ArrayLen(ProductAndCompanyHourArray[index])。 - Oliver Dixon
2个回答

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>

那段代码有效。如果你的不行,请提供完整的相关代码和所有错误信息。

3
作为对使用Cold Fusion的回应:
关于ColdFusion数组 ColdFusion数组与传统数组不同,因为它们是动态的。例如,在传统数组中,数组大小是固定和对称的,而在ColdFusion数组中,您可以根据添加或删除的数据拥有不同长度的行。 传统的2D数组就像是由单个单元格组成的固定大小的表格。 ColdFusion 2D数组实际上是包含一系列额外的1D数组的一维数组。组成行的每个数组都可以独立于任何其他列扩展和收缩。
我会链接到类似问题的答案,应该可以解决您的问题。

https://dev59.com/bm855IYBdhLWcg3w3INg#4111400

该链接说明了:“您可以通过z[n].length(其中0 <= n < z.length)获取任何第二维数组的长度。”

2
你能简要概括一下答案吗? - Leigh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接