配列変数aに、それぞれ
「東京」「神奈川」「千葉」「埼玉」とセットし、
「東京と神奈川と千葉と埼玉は日本の都道府県の一部です」
と表示する。
<cfset a = ArrayNew(1)> <cfset a[1] = "東京"> <cfset a[2] = "神奈川"> <cfset a[3] = "千葉"> <cfset a[4] = "埼玉"> <cfset tmp = ArrayToList(a,"と")> <cfset tmp = tmp & "は日本の都道府県の一部です"> <cfoutput> #tmp# </cfoutput>
「配列の値を表示する場合は、ループして処理をすればいい」
と、普通なら考えますが、もちろん可能です。
その場合は
<cfset tmp = ""> <cfloop index="idx" array="#a#"> <cfif idx eq "埼玉"> <cfset tmp = tmp & idx> <cfelse> <cfset tmp = tmp & idx & "と"> </cfif> </cfloop> <cfset tmp = tmp & "は日本の都道府県の一部です">
と、なるでしょう。
なんだか複雑そうですね。
ColdFusionには豊富な関数がありますので、
うまく使うとコーディングが少なくてすみます。
コーディング量が少なくてすむということは
メンテナンスもしやすいということになります。
ArrayToListという関数ですが、
配列からリストに変換するというものです。
デフォルトの区切りはカンマ「,」となりますので、
<cfset tmp = ArrayToList(a)>
の場合は、
東京,神奈川,千葉,埼玉
となります。
カンマを「と」に変換したものが
上記解答のArrayToListの使い方となります。
ちょっと頭を使うとプログラムがシンプルになりますね。