Struct 如何在ColdFusion中使用from对结构进行排序并循环使用函数
我希望使用Struct 如何在ColdFusion中使用from对结构进行排序并循环使用函数,struct,coldfusion,Struct,Coldfusion,我希望使用struct生成两个字符串,但数据不是按升序排列的。除此之外,我还想使用from to like循环从1到50进行for循环,但我只知道使用数组进行for循环,不知道如何对结构进行for循环。有人能帮忙吗?我急于完成它。TQ。 我的代码如下 <cfprocessingdirective pageEncoding="utf-8" /> <cfset lang = structNew() /> <cfset lang.ch = structNew() />
struct
生成两个字符串,但数据不是按升序排列的。除此之外,我还想使用from to like循环从1到50进行for循环,但我只知道使用数组进行for循环,不知道如何对结构进行for循环。有人能帮忙吗?我急于完成它。TQ。
我的代码如下
<cfprocessingdirective pageEncoding="utf-8" />
<cfset lang = structNew() />
<cfset lang.ch = structNew() />
<cfset lang.en = structNew() />
<cfset lang["ch"]["dealer1"] = "代理 1">
<cfset lang["ch"]["dealer2"] = "代理 2">
<cfset lang["ch"]["dealer3"] = "代理 3">
<cfset lang["ch"]["dealer4"] = "代理 4">
......
<cfset lang["en"]["dealer1"] = "Dealer 1">
<cfset lang["en"]["dealer2"] = "Dealer 2">
<cfset lang["en"]["dealer3"] = "Dealer 3">
<cfset lang["en"]["dealer4"] = "Dealer 4">
.....
......
.....
如果您使用的是最新版本的ColdFusion,ColdFusion 2016,您可以使用structNew(“ordered”)
对于ColdFusion 11或更早版本
您可以使用Java的。但一个区别是LinkedHashMap区分大小写,因此在结构中定义结构时,必须使用括号表示法(即:struct1[“struct2”]
)。值得注意的是,您可以像对待CFML结构一样对待它们,因为您可以对它们使用structKeyExists()
等函数
<cfset LinkedHashMap = createObject("java", "java.util.LinkedHashMap") />
<cfset lang = LinkedHashMap.init() />
<cfset lang["ch"] = LinkedHashMap.init() />
<cfset lang["en"] = LinkedHashMap.init() />
<cfset lang["ch"]["dealer1"] = "代理 1">
<cfset lang["ch"]["dealer2"] = "代理 2">
<cfset lang["ch"]["dealer3"] = "代理 3">
<cfset lang["ch"]["dealer4"] = "代理 4">
<cfset lang["en"]["dealer1"] = "Dealer 1">
<cfset lang["en"]["dealer2"] = "Dealer 2">
<cfset lang["en"]["dealer3"] = "Dealer 3">
<cfset lang["en"]["dealer4"] = "Dealer 4">
<!--- Example to see structure --->
<cfdump var="#lang#">
您可以在trycf.com上测试上述示例->如果您使用的是最新版本的ColdFusion,ColdFusion 2016,您可以使用structNew(“ordered”)
对于ColdFusion 11或更早版本
您可以使用Java的。但一个区别是LinkedHashMap区分大小写,因此在结构中定义结构时,必须使用括号表示法(即:struct1[“struct2”]
)。值得注意的是,您可以像对待CFML结构一样对待它们,因为您可以对它们使用structKeyExists()
等函数
<cfset LinkedHashMap = createObject("java", "java.util.LinkedHashMap") />
<cfset lang = LinkedHashMap.init() />
<cfset lang["ch"] = LinkedHashMap.init() />
<cfset lang["en"] = LinkedHashMap.init() />
<cfset lang["ch"]["dealer1"] = "代理 1">
<cfset lang["ch"]["dealer2"] = "代理 2">
<cfset lang["ch"]["dealer3"] = "代理 3">
<cfset lang["ch"]["dealer4"] = "代理 4">
<cfset lang["en"]["dealer1"] = "Dealer 1">
<cfset lang["en"]["dealer2"] = "Dealer 2">
<cfset lang["en"]["dealer3"] = "Dealer 3">
<cfset lang["en"]["dealer4"] = "Dealer 4">
<!--- Example to see structure --->
<cfdump var="#lang#">
您可以在trycf.com上测试上述示例->您可能需要编辑答案以同时显示键的值。所以,#经销商#
变成了#经销商#:#郎[经销商]#
。这将显示dealer1:代理 1
etc@JohnWhish,正确呼叫,已进行更改。您可能希望编辑答案以同时显示键的值。所以,#经销商#
变成了#经销商#:#郎[经销商]#
。这将显示dealer1:代理 1
etc@JohnWhish,打得好,做了些改变。