ColdFusionカフェテリア
SAMURAIZ

 

←前 | ↑一覧 | 次→

条件式について@ if文

ColdFusionでは、他のプログラム言語同様、if文とswitch文の条件式があります。条件の際に使用する演算子は、一つ前のページに記載した演算子を使って条件文を組み立てます。 if文の条件フローで使用するタグは、<cfif>, <cfelse>, <cfelseif> タグです。

シンタックスと使用例

<cfif 条件式>
条件が一致した場合に表示や処理を行うHTML, CFML
</cfif>

簡単な<cfif>による条件式の例を以下に紹介します。

<cfset pref="東京都">
<cfif pref EQ "神奈川県">
あなたは神奈川県に住んでいます。
</cfif>

上記は、ローカル変数prefの値が"神奈川県"という文字列かどうかで条件分岐をしています。 <cfif>〜</cfif>で囲った範囲が条件指定の範囲となります。条件に一致すると、メッセージが画面に表示されます。

 

次に、条件に一致しなかった場合に別の処理を行うために <cfelse> を追加します。
シンタックスは下記となります。

<cfif 条件式>
条件が一致した場合に表示や処理を行うHTML, CFML
<cfelse>
条件が一致しなかった場合に表示や処理を行うHTML, CFML
</cfif>

上記で追加した <cfelse> の後が、条件に一致しなかった処理となります。<cfelse>は<cfif>〜</cfif>ブロック内に記載する事に注意して下さい。例を下記に紹介します。

<cfset pref="東京都">
<cfif pref EQ "神奈川県">
あなたは神奈川県に住んでいます。
<cfelse>
あなたは神奈川県以外に住んでいます。
</cfif>

ローカル変数prefの値が"神奈川県"という文字列かどうかで条件分岐をしています。今回は、条件が一致しなかった場合も「あなたは神奈川県以外に住んでいます。」とメッセージが表示されます。

 

次は、最初の条件に一致しなかった場合に、次に別の条件分岐を行うために <cfelseif> を追加します。
シンタックスは下記となります。

<cfif 条件式1>
条件式1が一致した場合に表示や処理を行うHTML, CFML
<cfelseif 条件式2>
条件式2が一致した場合に表示や処理を行うHTML, CFML
<cfelseif 条件式3>
条件式3が一致した場合に表示や処理を行うHTML, CFML
... 
<cfelse>
どれも条件が一致しなかった場合に表示や処理を行うHTML, CFML
</cfif>

<cfelseif> の後に新しい条件式を指定すること、また、<cfelseif>は複数指定することができる事が特徴です。

例を下記に紹介します。

<cfset pref="東京都">
<cfif pref EQ "神奈川県">
あなたは神奈川県に住んでいます。
<cfelseif pref EQ "千葉県">
あなたは千葉県に住んでいます。
<cfelseif pref EQ "東京都">
あなたは東京都に住んでいます。
<cfelse>
あなたは神奈川県、千葉県、東京都以外に住んでいます。
</cfif>

ローカル変数prefの値が"神奈川県"か、それとも"千葉県"か、それとも"東京都"か、で条件分岐をしています。今回は、3回目の条件式で条件が一致したため、「あなたは東京都に住んでいます。」というメッセージが表示されます。
<cfelseif>が増えてしまうのは、条件処理としては複雑になりがちです。その場合は、switch文による条件処理を使う事をお勧めします。switch文の説明は次ページをご覧下さい。

論理演算を使用した条件分岐

条件処理によっては、一度に複数の条件式を記載することがあります。多くのプログラミング言語と同様に、論理演算が用意されています。よく使用する論理演算としては、AND, OR, NOT があります。また、OR よりも AND が優先される事や、OR を優先させたい場合は、括弧を付けると良い事も同様です。
シンタックスは下記となります。

<cfif (条件A OR 条件B) AND 条件C>
条件Aもしくは条件Bのどちらかに一致し、かつ、条件Cにも一致している場合に表示や処理を行うHTML, CFML
</cfif>
コード例は下記となります。

<cfset pref="東京都">
<cfset age="36">
<cfif (pref EQ "東京都" OR pref EQ "埼玉県") AND age GTE 30>
あなたは東京都か埼玉県に住んでいて、かつ、年齢が30歳以上の方です。
</cfif>

 

※論理演算式の詳細は、ColdFusion 10 のオンラインマニュアル 『Adobe ColdFusion 10 アプリケーションの開発 - 演算子のタイプ』 をご確認して下さい。

ColdFusionの各種情報の配信


最新情報
■2017/3/27
ColdFusion 2016 対応
インストール セットアップ情報
CFサーバーのインストール
CFビルダーのインストール

■2016/9/20
『ColdFusion 2016 リリース
Enterprise Edition 活用資料』
記事一覧

■2016/3/30
『ColdFusion 実験室』
実験4、実験5

■2015/8/10 〜
『ColdFusion クリニック』
記事一覧(随時更新中)

■2015/4/8
『JasperReportsによる帳票出力』
2. JasperReportsによる帳票出力【後編】

■2015/3/12
アップクロス株式会社
西元 貞昭様
『JasperReportsによる帳票出力』
1. JasperReportsによる帳票出力【前編】


■2015/2/25
『ColdFusionでエクセルを使いこなそう!』
4. 【上級】ColdFusionのエクセル機能を利用したPDF帳票の紹介

ColdFusionトレーニング


ColdFusionユーザーグループ
ColdFusionユーザーグループ
Copyright 2012 Samuraiz Corporation. All Rights Reserved.