排列

在 ColdFusion 8 中添加了使用 cfloop 直接使用 array 对象的功能。

考虑这个数组;

<cfset aFoo = [
    "one"
    , "two"
    , "three"
    , "four"
] />

标记语法

ColdFusion 8 通过电流

使用属性 index 本身。

参数

属性 是否必需 默认 描述
array true 一个数组对象。必须评估变量(用##包装)
index true 数组的当前元素。
<cfoutput>
    <cfloop array="#aFoo#" index="x">
        <li>#x#</li>
    </cfloop>
</cfoutput>

生成的 HTML

这也将在每行 HTML 之间有换行符。

<li>one</li>
<li>two</li>
<li>three</li>
<li>four</li>

ColdFusion 2016 通过当前

属性 item 在 Coldfusion 2016 中改变了 cfloop 的行为。

使用属性 item 代替 index 或者除了 index 之外。

参数

属性 是否必需 默认 描述
array true 一个数组对象。必须评估变量(用##包装)
item true 数组的当前元素。
index false 数组的当前索引。
<cfoutput>
    <cfloop array="#aFoo#" item="x" index="y">
        <li>#x# | #y#</li>
    </cfloop>
</cfoutput>

生成的 HTML

这也将在每行 HTML 之间有换行符。

<li>one | 1</li>
<li>two | 2</li>
<li>three | 3</li>
<li>four | 4</li>

CFSCRIPT

在 ColdFusion 8 之前

<cfscript>
for (i = 1; x LTE arrayLen(aFoo); i = i + 1) {
    writeOutput("<li>" & aFoo[i] & "</li>");
}
</cfscript>

ColdFusion 8 通过电流

<cfscript>
for (i = 1; i <= arrayLen(aFoo); i = i++) {
    writeOutput("<li>" & aFoo[i] & "</li>");
}
</cfscript>

ColdFusion 9 通过电流

使用 FOR IN 语法,x 是当前数组元素,而不是数组索引。

<cfscript>
for (x in aFoo) {
    writeOutput("<li>" & x & "</li>");
}
</cfscript>

ColdFusion 11 通过电流

cfscript 函数 cfloop 不支持 array

生成的 HTML

请注意,cfscript 输出全部在一行上。

<li>one</li><li>two</li><li>three</li><li>four</li>