2016-03-23 9 views
0

私は、画面上の出力にこれを使用した後、このようになります2次元配列を持っている:2次元配列をループする方法は?

array 
1 
array 
1 0600 
2 
array 
1 0 
3 
array 
1 0600 
4 
array 
1 0 
5 
array 
1 0615 
6 
array 
1 0 
7 
array 
1 0615 
8 
array 
1 0 
9 
array 
1 0630 
10 
array 
1 0 
11 
array 
1 0630 
12 
array 
1 1 

だから私はこの順序で私のアレイと出力値をループにしたい:

0600 0 
0600 0 
0615 0 
0615 0 
0630 0 
0630 1 

ここで私は私のアレイを作成する方法のコードは次のとおりです。

<cfloop list="#ListGetAt(dataList,i,",")#" index="z" delimiters="|"> 
    <cfoutput query="getR" group="theYear"> 
     <cfset name = myArray.append([z])> 
     <cfif Description eq z> 
      <cfset count = myArray.append([theCount])> 
     <cfelse> 
      <cfset count = myArray.append([0])> 
     </cfif> 
    </cfoutput> 
</cfloop> 

だから私は上記お見せしたようには、この二つのレコードを取得する方法を私ができるループになりましたか?私はこれを試してみましたが、それはうまくいきませんでした:

<cfoutput> 
    <cfloop from="1" to="#arraylen(myArray)#" index="i"> 
     <cfloop array="#myArray#" index="j"> 
      #i# - #myArray[1][j]#<br/> 
     </cfloop> 
    </cfloop> 
</cfoutput> 

編集:

The value coldfusion.runtime.Array cannot be converted to a number. 

誰でもを助けることができる場合:私はこのエラーを得た

<cfloop array="#myArray#" index="i"> 
    <cfloop array="#myArray#" index="j"> 
     <cfoutput> #myArray[i][j]#<br/> </cfoutput> 
    </cfloop> 
</cfloop> 

:私はこのコードを使用しこの問題は私に知らせてください。

+0

私はcoldfusionの男ではありませんが、[i] [j]でインデックスを作成するべきではありません。 #myArray [i] [j] not 1とj – user5976242

+0

サイドノート、フレーズ*が機能しませんでした:*はあまり教えてくれません。私はuser5976242が間違っていると思われますが、実際の結果の説明、具体的にどのように期待通りのものかを記述してみてください。 – Leigh

+0

私はこのコードを使用: \t \t \t \t \t \t \t \t \t \t \t \t #myArray [I] [J]#
\t \t \t \t
\t \t \t \t \tこのエラーが発生しました。値coldfusion.runtime.Arrayを数値に変換できません。 –

答えて

3

これは、2次元配列からの出力を得る方法です。

<cfscript> 
data = [ 
    ["0600", 0], 
    ["0600", 0], 
    ["0615", 0], 
    ["0615", 0], 
    ["0630", 0], 
    ["0630", 1] 
]; 

// script version 
for (foo in data) { 
    writeOutput(foo[1] & " " & foo[2] & "<br>"); 
} 

</cfscript> 

<cfoutput> 
tag version...<br> 
<cfloop array="#data#" index="foo"> 
    #foo[1]# #foo[2]#<br> 
</cfloop> 
</cfoutput> 

ここで使用されていることの一例:しかしhttp://trycf.com/gist/86b42b56ef7348ec0d44/acf2016?theme=monokai

、私は構造体の配列(キーと値のペア)が簡単に思えるとき、あなたは2次元配列を使用している理由はわからないんだけど

例えば:それを行う方法

<cfscript> 
data = [ 
    {key:"0600", count:0}, 
    {key:"0600", count:0}, 
    {key:"0615", count:0}, 
    {key:"0615", count:0}, 
    {key:"0630", count:0}, 
    {key:"0630", count:1} 
]; 

// script version 
for (foo in data) { 
    writeoutput(foo.key & " " & foo.count & "<br>"); 
} 

</cfscript> 

<cfoutput> 
tag version...<br> 
<cfloop array="#data#" index="foo"> 
    #foo.key# #foo.count#<br> 
</cfloop> 
</cfoutput> 
+0

キーとカウントを使用して配列構造体を作成する方法値: ? –

+1

'のようなものは、 –

0

あなたがして、ループを修正することができます:

<cfoutput> 
<cfloop array="#myArray#" index="firstDimension"> 
    <cfloop array="#firstDimension#" index="secondDimension"> 
     #secondDimension#<br/> 
    </cfloop> 
</cfloop> 
</cfoutput> 
関連する問題