这是我的代码:
returnStruct.myList = myList;
returnStruct.first = trim(ListGetAt(myList,3));
returnStruct.last = trim(ListGetAt(myList,13));
returnStruct.address = trim(ListGetAt(myList,15));
returnStruct.city = trim(ListGetAt(myList,2));
returnStruct.state = trim(ListGetAt(myList,9));
一切正常,直到myList
达到空值,然后一切都崩溃了。
我找到了一个命令“includeEmptyValues”,我可以设置为“是”,但我不熟悉它,ColdFusion 9的文档并不是我遇到的最好的。
答案 0 :(得分:5)
http://cfquickdocs.com/cf9/#listgetat
以前版本的ColdFusion(默认情况下为CF9)将连续分隔符计为单个分隔符。所以列表看起来像这样:
<cfset myList="a,b,,c,,d" />
被认为有四个要素。
最近添加的是“includeEmptyValues”属性。
listGetAt(list, position [, delimiters, includeEmptyValues ])
所以,而
<cfset myVar=listGetAt(myList,6) />
会抛出错误
<cfset myVar=listGetAt(myList,6,",","true") />
会成功将myVar
设置为d
。
答案 1 :(得分:0)
可能想要使用listToArray()和ArrayIsDefined()。与includeEmptyFields attr一起玩,看看你喜欢哪种行为。 True =将列表中的空元素转换为空数组条目