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> |