如何拆分以";"分隔的列表 进入ColdFusion中的子列表

Him*_*nsu 2 coldfusion coldfusion-9 coldfusion-10

我需要将一个列表分隔;成多个子列表.我可以在不将其转换为ColdFusion中的数组的情况下执行此操作吗?

示例:My_list包含:

[10043,10044,10045,10046:2,5,3,1;3453,2167:1,0;2346,8674,9043,7543,6453:0,4,2,0,1]
Run Code Online (Sandbox Code Playgroud)

我需要:

My_list1 = [10043,10044,10045,10046:2,5,3,1]
My_list2 = [3453,2167:1,0]
My_list3 = [2346,8674,9043,7543,6453:0,4,2,0,1]
Run Code Online (Sandbox Code Playgroud)

... 等等.

Ada*_*ron 7

你不需要"做"任何事情.列表只是一个分隔的字符串.因此,如果你想设置那些(命名很差的,IMO)变量,那只需要:

<cfset fullList = "10043,10044,10045,10046:2,5,3,1;3453,2167:1,0;2346,8674,9043,7543,6453:0,4,2,0,1">
<cfset varIndex = 0>
<cfloop index="subList" list="#fullList#" delimiters=";">
    <cfset "My_list#++varIndex#" = subList>
</cfloop>
<cfdump var="#variables#">
Run Code Online (Sandbox Code Playgroud)

我真的不会像这样使用动态变量名,但我会使用数组.

  • 就个人而言,我更喜欢使用关联数组表示法和变量范围,即`<cfset variables ["My_list"&++ varIndex] = subList>`.虽然从技术上讲它没什么区别.那说......我同意这似乎没必要.这是什么原因? (2认同)