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>