Coldfusion和Associative Arrays

时间:2012-07-13 19:40:23

标签: arrays coldfusion associative-array

我习惯于处理我的关联数组PHP样式,我会有类似下面的内容

array[day][time] = count

这使我可以轻松计算出现的次数和易于使用的结构。在我的例子中,我正在从数据库中读取结果集,并且使这样的事情发挥作用将非常有用

我如何在Coldfusion中做同样的事情?

3 个答案:

答案 0 :(得分:10)

这看起来像是一个结构 - 你可以像以前那样轻松创建它:

<cfscript>

   myStruct = { day= { time = count}};

</cfscript>

或者使用可能更好地概述它的旧语法。

<cfset mySTruct = structNew()/>
<Cfset mySTruct.day = structNew()/>
<Cfset myStruct.day.time = count/>

还要记住,ColdFusion查询对象已经是一个极其有用的小数据结构,其格式为queryName [struct] [row] - 查询查询(您可以利用SQL简单地查询查询对象)可以轻松实现也可以访问这些数据。

希望这可以帮助你Reg。祝你好运。

答案 1 :(得分:3)

这是Reginold关于检查结构是否已定义的评论的后续内容:

<cfset thisvar = '04/MAR/2012'>
<cfset thatvar = '04:11'>
<cfset myStruct[thisvar][thatvar] = 'test'>

<!--- Check first key, then second --->
<cfif structKeyExists(myStruct,thisvar) and structKeyExists(mystruct[thisvar],thatvar)>
    Both Keys Exist.<hr>
</cfif>

<!--- Alternative Check --->
<cfif isDefined('myStruct.#thisvar#.#thatvar#') >
    Key Exists.<hr>
</cfif>

<cfdump var="#myStruct#"> 

答案 2 :(得分:0)

您也可以使用Coldfusion数组执行此操作。

array = [[], []];// initialize array

array[1][1] = 1;// set a value in the array

请记住,Coldfusion数组的索引为1,而不是0。