嵌套循环多个条目

时间:2017-10-31 21:30:55

标签: arrays coldfusion

我遇到了另一个问题。我试图弄清楚如何只有newResult变量的1个记录集,而不是多次显示?

qrykeylist来自数据库。 和newArray不是来自数据库,而是从数组构建。

我需要遍历两者才能获得所有结果。我设法得到他们我想要的但我无法弄清楚如何使它只显示来自查询和数组的循环结果的1个记录结果集。

我google了一下,有些人告诉我,当嵌套循环将两者都放入一个结构数组时,但如果这两个都需要循环,我怎么能这样做呢?另外,我不能在内循环之外写这个,因为我需要使用BOTH变量来输出结果。

这是我的代码:

<cfoutput>
    <cfloop index="i" from="1" to="#ArrayLen(newArray)#">
        <cfloop query="qrykeylist">
            <strong><br>#ITEM[i]#</strong>
            <cfset newResult = SHOULDBE - newArray[i]>
                <cfif newArray[i] GT SHOULDBE>
                    <br>Missing Keys #newResult#
                    <cfelseif newArray[i] LT SHOULDBE>
                    <br>Extra Keys #newResult#
                    <cfelseif newArray[i] EQ SHOULDBE>
                    <br>No Missing Keys
                </cfif> 
                <cfbreak>
        </cfloop>
    </cfloop>

以下是图像的结果,那些不在框中的内容最有可能被循环复制?

enter image description here

1 个答案:

答案 0 :(得分:1)

这真的是一个评论,但它太长了。看起来你有

<cfoutput query="qrykeylist">
   <cfloop index="i" from="1" to="#ArrayLen(newArray)#">
      <cfloop query="qrykeylist">

这是嵌套3级深度。我认为你不想两次循环qrykeylist

**另外注意

<cfif #newArray[i]# GT #SHOULDBE#>

可以写成:

<cfif newArray[i] GT SHOULDBE>

在显示值时,只能在##中包装变量。