coldfusion - 创建一个逗号分隔的引用值列表

标签 coldfusion coldfusion-10

我需要在引号内创建一个国家名称列表,并在末尾添加一个逗号 - 除了最后一个国家/地区名称,如下所示:
(我使用的是 ColdFusion 10)

  "Tuvalu",
  "Uganda",
  "Ukraine",
  "United Arab Emirates",
  "United Kingdom",
  "Uruguay"

  <cfquery name="query_names" datasource="MyDB">
   select short_desc
   from tbl_country
   where NVL(short_desc,' ') <> ' '
   order by short_desc
  </cfquery>
  <cfset TotalRec = "#query_names.Recordcount#">

  <cfloop query="query_names">
     <cfif query_names.Recordcount GT 271>
       <cfoutput>
         "#Trim(short_desc)#" & ","
       </cfoutput>
     <cfelse>
       <cfoutput>
         "#Trim(short_desc)#"
       </cfoutput>
     </cfif>
  </cfloop>

这个循环会导致国家名称在引号内,但没有逗号。所以我的循环结果:
  "Tuvalu"
  "Uganda"
  "Ukraine"
  "United Arab Emirates"
  "United Kingdom"
  "Uruguay"

最佳答案

如果您确实需要双引号,将引用的值附加到数组并在最后将其转换为列表可能更简单。 ArrayToList函数会自动为您处理逗号:

<cfset names = []>
<cfloop query="query_names">
    <cfset arrayAppend(names, '"'& short_desc & '"')>
</cfloop>

<cfoutput>#arrayToList(names)#</cfoutput>

结果:
"Tuvalu","Uganda","Ukraine","United Arab Emirates","United Kingdom","Uruguay" 

旁注,如果是单引号,即 '都可以接受,就更简单了。跳过循环,只需使用 QuotedValueList() :
 <cfoutput>#quotedValueList(query_names.short_desc)#</cfoutput>

结果:
'Tuvalu','Uganda','Ukraine','United Arab Emirates','United Kingdom','Uruguay'

关于coldfusion - 创建一个逗号分隔的引用值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41770845/

相关文章:

javascript - 创建更好的 JSON 格式

coldfusion - CF 在数据库查询中获取列的总和

rest - 页面刷新后在 ColdFusion 10 中使用 REST 时返回空白页面

mysql - mysql 表中的下和子类别(coldfusion,mysql)

ColdFusion 10 application.cfc 错误 : counting number of active sessions

iis - 重定向到 404 是有效的,但在 chrome devtools 中,显示了 200 代码

html - 如何以编程方式在 ColdFusion 中包含页眉和页脚文件?

coldfusion - 将 PHP 代码转换为 Coldfusion

coldfusion - 空白空间/Coldfusion

java - 我将如何在 ColdFusion(或 Java)中实现这个正则表达式?