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