2012-08-31 4 views
3

나는 Coldfusion8을 실행 중이며 설정 한 배열에 액세스하는 데 어려움을 겪고 있습니다.ColdFusion에서 2D 배열의 요소에 액세스하는 방법은 무엇입니까?

내 배열은 다음과 같이 설정됩니다

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 값을 얻어야합니다. 지금은이 노력하고있어 :

<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

예. 나는 단지 다음과 같은 객체로 변경하고있다 :'Application.strConfig.respH [LOCAL.lt]'. 이렇게 접근하는'Application.strConfig.respH.s = 127'. 이것이 작동하는지 봅시다. 귀하의 의견을 답장으로 남기 원하시나요? – frequent

답변

3

는, 배열을 사용하지 마십시오. 구조체를 사용하십시오. 배열이 인 경우 루프를 실행하여 일치하는 키를 찾아야합니다. (CF9 + 지원 ArrayFind)

+0

감사합니다. 개체가 작동합니다. – frequent

관련 문제