2017-09-02 152 views
0

我想在ColdFusion或字典中使用2维数组。ColdFusion中的2维数组

我从数据库读取:

<cfquery name="getData" datasource="myDB"> 
    Select Name, Score From Customer 
</cfquery> 

我在此查询循环。我的查询将返回6条是这样的:

Test1, 3 
Test2, 0 
Test1, 1 
Test3, 1 
Test3, 3 
Test2, 0 

我想有一个数组/词典在名称将不会重复分数将被添加此数据。在这种情况下,三个二维阵列:

myArray(Test1, 4) 
myArray(Test2, 0) 
myArray(Test3, 4) 

在ColdFusion中可能吗?

感谢

回答

2

如果没有特别的理由使用数组,你也可以使用Struct。

这将如下所示:

<cfset myStruct = {} > 
<cfloop query="getData"> 
    <cfif NOT StructKeyExists(myStruct,Name)> 
    <cfset myStruct[Name] = [] > 
    </cfif> 
    <cfset ArrayAppend(myStruct[Name],score) > 
</cfloop> 
+0

似乎比必要的更复杂。 –

2

你总是可以查询更改为:

select name, sum(score) totalScore 
from customer 
group by name 

或者,如果你真正需要的个人记录,你可以做查询的查询。

+0

感谢。实际上,有时我必须从文本文件而不是查询中读取数据。 – user6824563