[ColdFusion] 配列変数の値を表示

  • このエントリーをはてなブックマークに追加
  • 人気ブログランキング

例題

配列変数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の使い方となります。

 

ちょっと頭を使うとプログラムがシンプルになりますね。

  • このエントリーをはてなブックマークに追加
  • 人気ブログランキング

この記事に関連する記事一覧

最近の投稿
カテゴリー
タグ
アーカイブ
プロフィール