使用 cfloop 查询填充数组
populate array using cfloop query
我正在尝试使用 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]
除非您确实需要其他索引,否则只需省略它并使用 ArrayApend 其中 "...将数组元素附加到指定数组的末尾"。
<cfset ArrayAppend( MyArray, GetPermission.Permission_ID)>
顺便说一句,当您 运行 遇到这样的问题时,仔细阅读文档的 functions by category 部分会很有帮助。大多数函数的名称都很好。只需选择正确的类别并查看函数名称,通常就能立即找到答案。然后就是阅读使用文档和测试代码了。
更新: 然而,正如在 上所讨论的,对于这个 特定的 任务,最终有比数组更好的选择(即更新权限列表)。
对于增量,您可以执行以下任一操作:
- 使用 Leigh 提到的
ArrayAppend()
函数
- 在顶部设置一个计数器变量,然后使用它然后增加值
- 使用
ArrayLen(myArray)+1
作为增量计数器
作为旁注;你写的脚本有几个问题。
Leigh 的解决方案 100% 准确,但根据具体情况,您甚至可能不需要将查询结果转储到数组中。您可以直接访问查询结果中的值。
Ben Nadel 对此有一个 post:http://www.bennadel.com/blog/149-ask-ben-converting-a-query-to-a-struct.htm
我正在尝试使用 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]
除非您确实需要其他索引,否则只需省略它并使用 ArrayApend 其中 "...将数组元素附加到指定数组的末尾"。
<cfset ArrayAppend( MyArray, GetPermission.Permission_ID)>
顺便说一句,当您 运行 遇到这样的问题时,仔细阅读文档的 functions by category 部分会很有帮助。大多数函数的名称都很好。只需选择正确的类别并查看函数名称,通常就能立即找到答案。然后就是阅读使用文档和测试代码了。
更新: 然而,正如在
对于增量,您可以执行以下任一操作:
- 使用 Leigh 提到的
ArrayAppend()
函数 - 在顶部设置一个计数器变量,然后使用它然后增加值
- 使用
ArrayLen(myArray)+1
作为增量计数器
作为旁注;你写的脚本有几个问题。
Leigh 的解决方案 100% 准确,但根据具体情况,您甚至可能不需要将查询结果转储到数组中。您可以直接访问查询结果中的值。
Ben Nadel 对此有一个 post:http://www.bennadel.com/blog/149-ask-ben-converting-a-query-to-a-struct.htm