Moh*_*mad 4 arrays coldfusion coldfusion-9
我想将一个11位数的字符串转换为数组.在ColdFusion 9中有更优雅的方法吗?
local.string = [];
for (local.i = 1; local.i <= len(arguments.string); local.i++)
{
local.string[ local.i ] = mid(arguments.string, local.i, 1);
}
Run Code Online (Sandbox Code Playgroud)
如果我的字符串是12345,那么数组看起来像string[1] = 1; string[2] = 2等等......
有一种优雅的方式,我认为可以在任何版本的ColdFusion中使用.
诀窍是使用CF的列表操作函数 - 如果指定""的分隔符(即什么都没有),它将把字符串的每个字符看作列表项.
所以你想要的是:
local.string = listToArray(arguments.string, "");
Run Code Online (Sandbox Code Playgroud)
这会给你你的角色数组......
这适用于CF8,不依赖于CF9中的"bug":
stringAsList = REReplace( string,"(.)","\1,","ALL" );
array = ListToArray( stringAsList );
Run Code Online (Sandbox Code Playgroud)