2011-07-26 99 views
2

這是我的代碼:的ColdFusion-9 「includeEmptyValues」

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」,我可以設置爲'yes',但我不熟悉它,ColdFusion 9的文檔並不是我遇到過的最好的文檔。

回答

5

http://cfquickdocs.com/cf9/#listgetat

以前版本的ColdFusion計數連續的分隔符作爲一個單一的分隔符。所以看起來像這樣的列表:

<cfset myList="a,b,,c,,d" /> 

被認爲有四個元素。

最近添加的是「includeEmptyValues」屬性。

listGetAt(list, position [, delimiters, includeEmptyValues ]) 

因此,儘管

<cfset myVar=listGetAt(myList,6) /> 

將拋出一個錯誤

<cfset myVar=listGetAt(myList,6,",","true") /> 

將會成功myVard

+0

它工作。謝謝! – Geo

0

可能想要使用listToArray()和ArrayIsDefined()。使用includeEmptyFields attr進行遊戲並查看您喜歡哪種行爲。真=轉換空元素列表中的空數組項

(默認和CF9)
+0

感謝您的建議,但上面的評論做得很好 – Geo

+0

@Crematorio那麼你應該把它標記爲正確的答案。 – Henry

相關問題