gpt4 book ai didi

coldfusion - 标签 CFLOOP 的属性验证错误

转载 作者:行者123 更新时间:2023-12-03 16:50:19 24 4
gpt4 key购买 nike

我对这种冷融合语言还很陌生,我做了一些教程,我只是按照类(class)告诉我的去做,但是我在这段代码上遇到了错误,有人可以向我解释为什么吗?

<cfset carrinho=ArrayNew(1)>

<cfset carrinho[1]=StructNew()>
<cfset carrinho[1].nome="Camisa da Seleção Brasileira">
<cfset carrinho[1].valor=189>
<cfset carrinho[1].quantidade=1>

<cfset carrinho[2]=StructNew()>
<cfset carrinho[2].nome="Chuteira CR7">
<cfset carrinho[2].valor=470>
<cfset carrinho[2].quantidade=2>

<cfset carrinho[3]=StructNew()>
<cfset carrinho[3].nome="Short do Messi">
<cfset carrinho[3].valor=180>
<cfset carrinho[3].quantidade=1>

<cfdump var="#carrinho#">

<cfloop list="#carrinho#" item="name" index="i">
<cfoutput>
#i#:#name#
</cfoutput>
</cfloop>

最佳答案

原因是 carrinho 是一个数组,而不是一个列表。你可以用许多不同的方式循环它。

  1. 方式是循环使用array属性

    <cfset counter=1>
    <cfloop array="#carrinho#" index="item">
    <cfoutput>#counter#. #item.nome#</cfoutput>
    <cfset counter++>
    </cfloop>

    DEMO

  2. ArrayLen

    中使用索引循环
    <cfloop from="1" to="#ArrayLen(carrinho)#" step="1" index="i">
    <cfoutput>#i#. #carrinho[i].nome#</cfoutput>
    </cfloop>

    DEMO

  3. 使用 cfscript for 循环

    <cfscript>
    counter=1;
    for(item in carrinho){
    writeoutput("#counter#. #item.nome#")
    counter++;
    }
    </cfscript>

    DEMO

这些只是一些方法。还有很多其他方法可以做到这一点。

关于coldfusion - 标签 CFLOOP 的属性验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51083739/

24 4 0