排列

在 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>