如何在Coldfusion中访问2D数组中的元素?

3

我正在运行 Coldfusion8,但无法访问我设置的数组。

我的数组设置如下:

Application.strConfig.respH = arrayNew(2);
Application.strConfig.respH[1][1] = "s";
Application.strConfig.respH[1][2] = 127;
Application.strConfig.respH[2][1] = "m";
Application.strConfig.respH[2][2] = 230;
...

导致出现这个:
RESPH:  
[array]
1) [array]
    1) s 
    2) 127  
2) [array]
    1) m 
    2) 230  

我需要根据页面中获取的尺寸来获得默认的数字。例如,当我得到m时,我需要获取mrespH值。目前,我正在尝试以下方法:

 <cfscript>
 LOCAL.runner = "s,m,l,xl"; 
 LOCAL.lt = ListGetAt(LOCAL.runner, LOCAL.i, ",");
 LOCAL.height = Application.strConfig.respH[ LOCAL.lt ];
 </cfscript>

这样做,Coldfusion 会抱怨 m 的值无法转换为数字。

问题:
如何访问我的 strConfig 对象中的元素?

感谢您的帮助!


1
如果您需要按特定键查找数据,请不要使用数组,而应该使用结构。使用数组需要循环以查找匹配的键。(CF9+支持ArrayFind - Leigh
是的。我只是将它更改为对象,像这样:Application.strConfig.respH.s = 127,以便像这样访问它:Application.strConfig.respH[LOCAL.lt]。让我们看看这是否有效。你想把你的评论作为答案吗,这样我就可以检查了吗? - frequent
1个回答

3

(来自评论...)

如果您需要按特定键查找数据,请不要使用数组。使用结构体。使用数组需要循环以找到匹配的键。(CF9+支持ArrayFind


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接