2012-08-31 104 views
3

我正在運行Coldfusion8,並且正在努力訪問我設置的數組。如何在Coldfusion中訪問二維數組中的元素?

我的陣列設置是這樣的:

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我需要得到respH值爲m。現在我試着這個:

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

這樣做,Coldfusion抱怨The value m cannot be converted to a number

問題
如何訪問我的strConfig對象中的元素?

感謝您的幫助!

+1

如果您需要按特定鍵查找數據,請不要使用數組。使用結構。對於數組,您必須循環才能找到匹配的鍵。 (CF9 +支持'ArrayFind') – Leigh

+0

Ya。我只是將它更改爲像這樣的對象:'Application.strConfig.respH.s = 127'來訪問它,就像這樣:'Application.strConfig.respH [LOCAL.lt]'。讓我們看看這是否有效。你想讓你的評論成爲一個答案,所以我可以檢查嗎? – frequent

回答

3

(從評論...)

如果您需要通過特定的按鍵來查找數據,不要用數組。使用結構。使用 數組,您必須循環才能找到匹配的密鑰。 (CF9 +支持ArrayFind

+0

謝謝。對象起作用。 – frequent