CFIF  
説明

CFML で簡単な条件ステートメントや複合条件ステートメントを作成できます。式、変数、関数の戻り値、または文字列をテストします。オプションで cfelse タグと cfelseif タグを組み合わせて使用します。

 
カテゴリ

フロー制御タグ

 
シンタックス
<cfif expression>
   HTML タグおよび CFML タグ
<cfelseif expression>
   HTML タグおよび CFML タグ
<cfelse>
   HTML タグおよび CFML タグ
</cfif>
 
関連項目

cfelse、cfelseif、cfabort、cfbreak、cfexecute、cfexit、cflocation、cfloop、cfswitch、cfthrow、cftry

 
使用方法

cfif タグ内の式の値が true の場合、それ以降のすべてのコードは、cfelseif タグまたは cfelse タグに到達するまで実行され、その後は cfif 終了タグまでスキップされます。false の場合、cfif タグの直後のコードは実行されず、cfelseif タグまたは cfelse タグが存在すればそのコードが実行され、あるいは、cfif 終了タグの後のコードが実行されます。

ブール値を返す関数の戻り値をテストするときには、true 条件を明示的に定義する必要はありません。この例では、IsArray 関数を使用しています。

<cfif IsArray(myarray)>

関数が成功した場合、IsArray は yes と評価されます。この文字列は、ブール値の true に相当します。true の条件を次のように明示的に定義する方法よりも、この方法をお勧めします。

<cfif IsArray(myarray) IS True>

このタグには終了タグが必要です。

 

この例では、変数をシャープ記号で囲んでいます。これは必須ではありません。

<!--- この例では、cfif、cfelse、および cfelseif の相互作用を示します。 --->
<!----- 最初に、データを取得するクエリーを実行します。 -----> 
<cfquery name="getCenters" datasource="cfdocexamples"> 
   SELECT Center_ID, Name, Address1, Address2, City, State, Country,
      PostalCode, Phone, Contact
   FROM Centers
   ORDER by City, State, Name
</cfquery> 
<p>CFIF には、1 つの条件または一連の条件に基づいて 
条件論理式を実行する機能があります。 
<p>たとえば、グループ別のスニペットデータソースからセンターのリストを出力し、 
<b>IF</b> City = San Diego の場合にのみ表示します。 
<hr> 
<!---- CFIF を使って、クエリーを出力する時の条件をテストします。 -----> 
<p>San Diego 市内には次のセンターがあります。 
<cfoutput query="getCenters"> 
      <cfif Trim(City) is "San Diego"> 
         <br><b>名前/住所: </b>#Name#, #Address1#, #City#, #State#
         <br><b>連絡先: </b> #Contact#
         <br> 
      </cfif> 
</cfoutput> 
<hr> 
<p>複数の条件を考慮する場合は、 
San Diego <b>OR</b> Santa Ana という形式でセンターのリストを要求することができます。この条件に合致す
るセンターがない場合は、
CFELSE を使用して、他のセンターの名前と都市
のみを表示することができまます。 
<p>特定された場所 (Santa Ana や San Diego) の位置を指定するための、 
ネストされた CFIF の使用方法に注意してください。
<!----- CFIF を使って、複数のオプションに対して条件選択肢を指定します。
ネストされた CFIF にも注意してください。 ---> 
<p>San Diego または Santa Ana にあるセンターの詳細な情報が表示されます。 
他のセンターはすべてイタリックで示されます。 
<cfoutput query="getCenters"> 
   <cfif Trim(City) is "San Diego" OR Trim(City) is "Santa Ana"> 
      <h4>次の都市の主要センター 
         <cfif Trim(City) is "San Diego"> 
            San Diego
         <cfelse> 
            Santa Ana
         </cfif> 
         </h4> <b>名前/住所 : </b>#Name#, #Address1#, #City#, #State#
         <br><b>連絡先 : </b> #Contact#<br>
   <cfelse> 
      <br><i>#Name#, #City#</i>
   </cfif> 
</cfoutput> 
<hr> 
<p>最後に、CFELSEIF を使って、多数の条件を実行し、 
さまざまな出力を生成することができます。CFCASE および CFSWITCH を使用すると、
この動作をより的確に表現することができます。 
<!--- CFIF を CFELSEIF と併用して、
   条件に複数の分岐を指定します。 ---> 
<cfoutput query="getCenters"> 
   <cfif Trim(City) is "San Diego" OR Trim(City) is "Santa Ana"> 
      <br><i>#Name#, #City#</i> (このセンターは
            <cfif Trim(City) is "San Diego">San Diego にあります。
            <cfelse>Santa Ana
            </cfif>) 
         <cfelseif Trim(City) is "San Francisco"> 
            <br><i>#Name#, #City#</i> (このセンターは、San Francisco にあります。)
         <cfelseif Trim(City) is "Suisun"> 
            <br><i>#Name#, #City#</i> (このセンターは Suisun にあります。)
         <cfelse> <br><i>#Name#</i>
            <b>検索した都市にあるセンターではありません。</b>
         </cfif> 
</cfoutput>