4

私は2次元配列を持っています:

ProductAndCompanyHourArray[ProductLoopIndex][CompanyLoopIndex] = getCompanyHourTime;

これまでのところ、次元ごとに2次元配列をループしようとしています:

ArrayLen(ProductAndCompanyHourArray) - ProductIndex

2番目のビットをループするにはどうすればよいですか? (動作せず、長さを取得)

ArrayLen(ProductAndCompanyHourArray[ProductIndex]) ??
4

2 に答える 2

4

2 番目の次元の配列の長さを取得するには、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>

そのコードは機能します。そうでない場合は、関連する完全なコードとエラー メッセージを提供してください。

于 2012-08-01T15:15:54.750 に答える
3

常温核融合の使用に応じて:

ColdFusionアレイについてColdFusionアレイは動的であるため、従来のアレイとは異なります。たとえば、従来の配列では、配列サイズは一定で対称的ですが、ColdFusion配列では、追加または削除されたデータに基づいて異なる長さの行を持つことができます。従来の2D配列は、個々のセルで構成される固定サイズのテーブルのようなものです。ColdFusion 2D配列は、実際には一連の追加の1D配列を含む1次元配列です。行を構成する各配列は、他の列とは独立して拡張および縮小できます。

同様の質問の回答にリンクします。問題を解決する必要があります。

https://stackoverflow.com/a/4111400/967977

リンクには 、「任意の2次元配列の長さをz [n] .length(0 <= n <z.length)として取得できます」と記載されています。

于 2012-08-01T14:43:47.367 に答える