检查结构是否存在

时间:2014-04-12 12:25:51

标签: coldfusion

这是我的数组循环,里面有

的结构

我正在循环它,我需要跳过那些没有定义结构的字段,无论我每次都得到什么

这是我的代码:

<cfloop index="apos" from=1 to="#arrayLen(myarray)#">
<cfdump var="#myarray[apos].company#">
    <cfdump var="#StructKeyExists(myarray[apos].company,'#myarray[apos].company.size#')#">
    <cfdump var="#StructFindKey(myarray[apos].company,'myarray[apos].company.size','ALL')#">
</cfloop>

错误在于第3行,我收到错误:元素COMPANY.SIZE在作为表达式一部分引用的CFML结构中未定义。

虽然我已经尝试过structFindvalue,但是这不起作用,也许是期望一些简单的值,所以这里可能是最好的选择

1 个答案:

答案 0 :(得分:3)

使用structKeyExists,您希望为该功能提供要查找的结构和您要查找的密钥,因此在myarray[apos].company中,您希望了解&#39; size&#39;存在,而不是整个结构。

<cfloop index="apos" from=1 to="#arrayLen(myarray)#">
  <cfdump var="#myarray[apos].company#">
  <cfdump var="#StructKeyExists(myarray[apos].company,'size')#">
</cfloop>