0

我有一个数字数组,在遍历数组时我想同时输出两个元素。这是我的数组:

<cfset myArray = [74539,1500285,1334095,1500293,1334096,1500294,1334098,1500295,1334109,1500296]>

这是我的循环:

<cfoutput>
    <cfloop from="1" to="#arraylen(myArray)#" index="a">
        <cfset currAssignID = firstAssignList[a]>
        <cfset nextAssignID = firstAssignList[a+1]>
        #currAssignID# - #nextAssignID#<br>
    </cfloop>
</cfoutput>

上面的代码将产生这个输出:

74539 - 1500285
1500285 - 1334095
1334095 - 1500293
1500293 - 1334096
1334096 - 1500294
1500294 - 1334098

正如您所看到的,我的代码每次都输出以前的数字,我想看到这个:

74539 - 1500285
1334095 - 1500293
1334096 - 1500294
1334098 - 1500295
1334109 - 1500296

如果有人知道我的代码在哪里出错,请告诉我。谢谢你。

4

1 回答 1

3

您可以使用step循环上的属性来指定循环通过元素的增量。当您想成对输出它们时,您可以设置step="2". 这将跳过所有其他元素。

<cfset myArray = [74539,1500285,1334095,1500293,1334096,1500294,1334098,1500295,1334109,1500296,1334110,1500297,1334117,1500298,1334124,1500299,1334138,1500286,1334139,1500287,1334140,1500288,1337768,1500289,1338779,1500290,1338783,1500291,1338801,1500292]>


<cfoutput>
    <cfloop step="2" from="1" to="#arraylen(myArray)#" index="a">
        <cfset currAssignID = myArray[a]>
        <cfset nextAssignID = myArray[a+1]>
        #currAssignID# - #nextAssignID#<br>
    </cfloop>
</cfoutput>

这将给出结果:

  74539 - 1500285
  1334095 - 1500293
  1334096 - 1500294
  1334098 - 1500295
  1334109 - 1500296
  1334110 - 1500297
  1334117 - 1500298
  1334124 - 1500299
  ... and so on

你可以在这里看到一个例子 - http://trycf.com/gist/32a57dc787ba2756c88b4d1b74e3917c/acf11?theme=monokai

于 2017-03-22T09:39:10.807 回答