3

我习惯于处理我的关联数组 PHP 风格,我会有类似以下的内容

array[day][time] = count

这使我可以轻松地计算某些东西出现的次数,并且它是一个易于使用的结构。就我而言,我正在从数据库中读取结果集,并且让这样的东西正常工作会非常有帮助

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

4

3 回答 3

11

这对我来说就像一个结构 - 您可以按照您习惯的方式轻松创建它:

<cfscript>

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

</cfscript>

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

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

还要记住,ColdFusion 查询对象已经是一个非常有用的小数据结构,其格式为 queryName[struct][row] - 并且查询查询(您可以利用 SQL 来简单地查询查询对象)允许轻松访问它数据也是如此。

希望这对您有所帮助。祝你好运。

于 2012-07-13T19:55:57.130 回答
4

这是 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#"> 
于 2012-07-13T21:42:44.377 回答
0

您也可以使用 Coldfusion 阵列来做到这一点。

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

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

请记住,Coldfusion 数组从索引 1 开始,而不是 0。

于 2012-07-14T19:09:38.963 回答