ColdFusion 列表错误无效的列表索引 2

问题描述

我收到无效索引 2 错误。虽然循环很简单

<cfset empID = 3333333>
<cfset Sec_skill = 2,5>
<cfset SecSkillLevel=1,2>

<cfloop from="1" to="#listLen(Sec_skill)#" index="i"> 
 <cfoutput>
    #ListgetAt(empID,i)# <br>
    #ListGetAt(sec_skill,i)#<br>
    #ListGetat(SecSkillLevel,i)#<br>
</cfoutput>
</cfloop>

Need help

解决方法

错误将在这一行:

#ListgetAt(empID,i)#

empID 不是列表,因此没有元素 2。

,

empID 在索引 2 的列表中没有项目,只有一项。 在显示之前,需要检查该项目是否存在于列表中。

例如,将列表转换为数组:

<cfset empID = 3333333>
<cfset Sec_skill = "2,5">
<cfset SecSkillLevel= "1,2">


<cfloop array="#listToArray(Sec_skill)#" item="item" index="i">
     <cfoutput>
        #ArrayIsDefined(listToArray(empID),i) ? listToArray(empID)[i] : '-'# <br>
        #ArrayIsDefined(listToArray(sec_skill),i) ? listToArray(sec_skill)[i] : '-'# <br>
        #ArrayIsDefined(listToArray(SecSkillLevel),i) ? listToArray(SecSkillLevel)[i] : '-'# <br>
    </cfoutput>
</cfloop>