##はじめに
みなさん、coldfusion(表記ゆれ)って知ってますか?
多分ほとんどの方が知らないと思うんで簡単に説明するんですけど、adobeが出してるJAVAベースの言語なんですよね。
ちょっと面白いのが、マークアップもスクリプトも両方使えたりしちゃいます。
私はあまり好きではないのですが、好きな人は好きなのでしょう。
今日はそんなcoldfusionで詰まった部分のメモ書きです。
##structの値が取り出せない
structの構造はこんな感じ。
<cfset arr = arrayNew(1)>
<cfset strMember1 = structNew("ordered")>
<cfset strMember1.name = "A">
<cfset strMember1.state = "1">
<cfset arr[1] = strMember1>
<cfset strMember2 = structNew("ordered")>
<cfset strMember2.name = "B">
<cfset strMember2.state = "2">
<cfset arr[2] = strMember2>
配列[1]の中にstrMember1の情報が、[2]の中にstrMember2の情報が入ってるようなイメージで。
<cfscript>
for(i=1;i<=arraylen(arr);i++){
tostring(i);
string=strMember+i;
cfloop(collection="#string#" item="key"){
みたいな感じで値を取れるかと思ったけど取れなかった。
そらまぁ無理だわな。
##答え
for inを使って中身をどんどん掘っていけばいいらしい。
<cfscript>
for(d in arr){
for(key in d){
writeoutput(key & ":" & d[key] & "<br>");
}
writeoutput("<br>");
}
</cfscript>
って感じにすると、
NAME:A
STATE:1
NAME:B
STATE:2
みたいに出力してくれる。
###これもうわかんねぇな