我正在尝试使用cfloop
查询数据构建数组。我不知道如何增加数组计数而不是每次都覆盖数组中的第一个值?如果这没有意义,请告诉我。
<CFSET MyArray=ArrayNew(1)>
<CFLOOP QUERY="GetPermission">
<CFIF #GetPermission.Permission_ID GT 10>
<CFSET MyArray[increment value][GetPermission.Permission_ID]>
</CFIF>
</CFLOOP>
所以我的数组应该看起来像MyArray[11,14,24,25,31]
答案 0 :(得分:4)
除非您确实需要其他内容的索引,否则只需省略它并使用ArrayApend “...将数组元素追加到指定数组的末尾”。
<cfset ArrayAppend( MyArray, GetPermission.Permission_ID)>
顺便说一句,当您遇到这样的问题时,仔细阅读文档的functions by category部分会很有帮助。大多数功能名称都很好。只需选择正确的类别,并查看功能名称,通常可以立即提供答案。然后,只需阅读使用文档并测试代码即可。
更新但是,正如your other thread所讨论的那样,对于此特定任务(即更新权限列表),最终有比数组更好的选项。
答案 1 :(得分:3)
对于增量,您可以执行以下任何操作:
ArrayAppend()
功能ArrayLen(myArray)+1
作为增量计数器正如旁注;你写的剧本有几个问题。
答案 2 :(得分:0)
Leigh的解决方案100%准确,但根据具体情况,您甚至可能不需要将查询结果转储到数组中。您可以直接访问查询结果中的值。
Ben Nadel在此发表了一篇文章:http://www.bennadel.com/blog/149-ask-ben-converting-a-query-to-a-struct.htm