我正在尝试使用查询数据的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]
发布于 2016-03-03 02:43:55
除非您确实需要其他的索引,否则只需省略它并使用ArrayApend,它“.将数组元素附加到指定数组的末尾”。
<cfset ArrayAppend( MyArray, GetPermission.Permission_ID)>顺便说一句,当您遇到这样的问题时,仔细阅读文档的按类别分列的职能部分是有帮助的。大多数函数都有很好的名称。简单地选择正确的类别,并检查函数名,通常会立刻给出答案。然后,这只是一个读取使用文档和测试代码的问题。
更新:但是,正如在上讨论的那样,对于这个特定的任务,最终有比数组更好的选项(即更新权限列表)。
发布于 2016-03-03 02:53:21
对于增量,您可以执行以下任何操作:
ArrayAppend()函数ArrayLen(myArray)+1作为增量计数器只是附带说明;您编写的脚本有几个问题。
发布于 2016-03-03 17:05:41
Leigh的解决方案是100%准确的,但根据具体情况,您甚至可能不需要将查询的结果转储到数组中。可以直接访问查询结果中的值。
本?纳德尔有一篇关于这方面的文章:http://www.bennadel.com/blog/149-ask-ben-converting-a-query-to-a-struct.htm
https://stackoverflow.com/questions/35761407
复制相似问题