coldfusion - cfloop 将 "YES"插入页面

标签 coldfusion coldfusion-10 cfml

我正在使用 cfloop 创建一个新数组并且出于某种原因,ColdFusion 为 MyNewArray 中的每个值在页面 HTML 中注入(inject)了单词“YES”。 .因此,通过下面的代码,我得到了“YES YES YES YES YES”。我怎么能阻止它?

<cfset MyNewArray = ArrayNew(1)>
<cfset MyNewArray2 = ArrayNew(1)>

<cfset MyNewArray[1] = "Sunday">
<cfset MyNewArray[2] = "Monday">
<cfset MyNewArray[3] = "Tuesday">
<cfset MyNewArray[4] = "Wednesday">
<cfset MyNewArray[5] = "Thursday">
<cfset MyNewArray[6] = "Friday">
<cfset MyNewArray[7] = "Saturday">

<cfloop from="2" to="6" index="i">
    <cfoutput>#ArrayAppend(MyNewArray2, MyNewArray[i])#</cfoutput>
</cfloop>

最佳答案

根据 docs , ArrayAppend 返回一个 bool 值 - 即 true/yes - 您通过将表达式包装在 #hashes# 中来输出它.

你不需要输出(或者实际上对结果做任何事情),你可以这样做:

<cfloop from="2" to="6" index="i">
    <cfset ArrayAppend(MyNewArray2, MyNewArray[i]) />
</cfloop>

作为旁注,与您的代码相同的更简单的方法是使用 duplicate复制数组,然后 ArrayDeleteAt删除第一个值。
<cfset MyNewArray2 = duplicate(MyNewArray) />
<cfset ArrayDeleteAt(MyNewArray2,1) />
<cfset ArrayDeleteAt(MyNewArray2,6) />

或者,正如 Leigh 在评论中指出的那样,更简单的是将这三行转换为单个 ArraySlice称呼:
<cfset MyNewArray2 = ArraySlice(MyNewArray,2,5) />

还要考虑是否DayOfWeekAsString无论您在做什么,它都是一个有用的功能。

关于coldfusion - cfloop 将 "YES"插入页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18192243/

相关文章:

coldfusion - cfc和cfm的区别

security - 安全环境中的 CF 和 PDF

java - 你如何在 Coldfusion 中使用 java 文件

java - 如何解决 ColdFusion 9 中的死锁问题 : coldfusion. util.AbstractCache$Lock

Coldfusion 的 StructCopy 和 URL 范围

railo - Railo 在哪里存储 <cflog> 创建的文件?

html - 如何关闭复选框?

solr - Coldfusion Solr 搜索 - 相当于 SQL 中的 LIKE %string%

xml - ColdFusion 10 Developer、Tomcat 7.0.64 和多个网站

mysql - cfquery 结果让我发疯