Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何在数组中循环并同时输出两个元素,而不重复前面的索引?_Arrays_Coldfusion_Cfloop - Fatal编程技术网

Arrays 如何在数组中循环并同时输出两个元素,而不重复前面的索引?

Arrays 如何在数组中循环并同时输出两个元素,而不重复前面的索引?,arrays,coldfusion,cfloop,Arrays,Coldfusion,Cfloop,我有一个数字数组,在数组中循环时,我想同时输出两个元素。这是我的阵列: <cfset myArray = [74539,1500285,1334095,1500293,1334096,1500294,1334098,1500295,1334109,1500296]> 正如您所看到的,我的代码每次都输出上一个数字,我希望看到: 74539 - 1500285 1334095 - 1500293 1334096 - 1500294 1334098 - 1500295 1334109 -

我有一个数字数组,在数组中循环时,我想同时输出两个元素。这是我的阵列:

<cfset myArray = [74539,1500285,1334095,1500293,1334096,1500294,1334098,1500295,1334109,1500296]>
正如您所看到的,我的代码每次都输出上一个数字,我希望看到:

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

如果有人知道我的密码在哪里,请告诉我。多谢各位

可以使用循环上的
步骤
属性指定循环通过元素的增量。当您想要成对输出它们时,可以设置
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>

您可以在这里看到一个示例-

您可以使用循环上的
步骤
属性来指定循环通过元素的增量。当您想要成对输出它们时,可以设置
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>

您可以在这里看到一个示例-

在循环中使用step属性并将其设置为2。它只会跳过一个给你想要的结果的索引。我指定#haxtbh来回答这个问题。如果数字1和2以及3和4。。。。是相关的,您可以修改数组以简化它吗。然后,您可以简单地在顶部数组中循环并输出每个元素。ie myArray=[[1,2],[3,4],…]。然后通过myArray循环并输出[1][1]-[1][2]…[2][1]-[2][2]…使用循环上的步长属性并将其设置为2。它只会跳过一个给你想要的结果的索引。我指定#haxtbh来回答这个问题。如果数字1和2以及3和4。。。。是相关的,您可以修改数组以简化它吗。然后,您可以简单地在顶部数组中循环并输出每个元素。ie myArray=[[1,2],[3,4],…]。然后在myArray中循环并输出[1][1]-[1][2]…[2][1]-[2][2]…旁注,如果数组可以包含奇数个元素,请添加一个大小检查,以便代码不会在最后一个元素上出错。@Leigh检查大小,确保数组中的元素不是空的,或者始终必须是偶数?只检查元素是否存在。当您输出a+1时,如果它不存在,它将出错。如果在没有步骤属性的情况下运行上面的示例,您将看到错误。您可以在arrayLen上进行mod,以确保它也是偶数的。@espresso_coffee-检查循环中的大小,以避免在使用
myArray[a+1]
时出错,如果元素总数不均匀:请注意,如果数组可以包含奇数个元素,添加一个大小检查,这样代码就不会在最后一个元素上出错。@Leigh检查大小,确保数组中的元素不是空的,或者总是偶数个?只检查元素是否存在。当您输出a+1时,如果它不存在,它将出错。如果在没有步骤属性的情况下运行上面的示例,您将看到错误。您可以对arrayLen进行mod,以确保它也是偶数。@espresso_coffee-检查循环中的大小,以避免在使用
myArray[a+1]
时出现错误,如果元素总数不均匀:
<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