我正在尝试在循环中创建逗号分隔列表,但我想我错过了一些东西。当我转储item_id_list
时,我只是用空格分隔项目 - 而不是逗号。任何人都可以指出我错过了什么吗?
<cfloop array="data" index="doc">
<cfif structKeyExists(doc, "id") >
<cfset the_item_id = doc.id />
</cfif>
<cfset item_id_list = ''/>
<cfset item_id_list = listappend(item_id_list,'#the_item_id#',',')/>
</cfloop>
答案 0 :(得分:9)
在循环外创建列表:
<cfset item_id_list = "" />
<cfloop array="#data#" index="doc">
<cfif structKeyExists(doc, "id") >
<cfset item_id_list = listappend(item_id_list, doc.id, ",") />
</cfif>
</cfloop>
答案 1 :(得分:0)
这会有用吗?
<cfset item_id_list = ArrayToList(data.id)>
编辑:哎呀。无法像这样引用数组中的结构。而是尝试:
<cfscript>
item_id_list = "" ;
for (row in data) {
if (structkeyexists(row,"id") ) {
item_id_list = listappend(item_id_list,row.id) ;
}
}
</cfscript>
对于像这样的循环,cfscript语法更容易看到。