# CFIF CFELSEIF CFELSE

Used with CFELSE and CFELSEIF, CFIF lets you create simple and compound conditional statements in CFML. The value in the CFIF tag can be any expression.

### Syntax

    <CFIF expression>
        HTML and CFML tags
    <CFELSEIF>
        HTML and CFML tags
    <CFELSE expression>
        HTML and CFML tags
    </CFIF>

### Usage

Note that when testing for the return value of any function that returns a Boolean, you do not need to explicitly define the TRUE condition. The following code uses IsArray as an example:

    <CFIF IsArray(myarray)>

When successful, `IsArray` evaluates to YES, the string equivalent of the Boolean TRUE. This method is preferred over explicitly defining the TRUE condition:

    <CFIF IsArray(myarray) IS TRUE>

Note | On UNIX, there is a switch that provides fast date-time parsing. If you have enabled this switch, you must refer to dates in expressions in the following order: month, day, and year. For example:

    <CFIF "11/23/1998 " GT "11/15/1998 ">

This switch is set on the ColdFusion Administrator Server Settings page. Please refer to Administering ColdFusion Server for more information about ColdFusion settings.

### Example

    <!--- This example shows the interaction of CFIF, CFELSE,
    and CFELSEIF --->
    ...
    <H3>CFIF Example</H3>

    <P>CFIF gives us the ability to perform conditional logic
    based on a condition or set of conditions.
    <P>For example, we can output the list of Centers from the
    snippets datasource by group and only display them <B>IF</B>
    the city = San Diego.
    <hr>
    <!--- use CFIF to test a condition when outputting a query --->
    <P>The following are centers in San Diego:

    <CFOUTPUT QUERY="getCenters" >
    <CFIF city is "San Diego">
        <BR><B>Name/Address:</B>#Name#, #Address1#, #City#, #State#
        <BR><B>Contact:</B> #Contact#<BR>
    </CFIF>
    </CFOUTPUT>

    <P>If we would like more than one condition to be the case,
    we can ask for a list of the centers in San Diego <B>OR</B>
    Santa Ana.  If the center does not follow this condition, we
    can use CFELSE to show only the names and cities of the
    other centers.
    <P>Notice how a nested CFIF is used to specify
    the location of the featured site (Santa Ana or San Diego).
    <!--- use CFIF to specify a conditional choice for multiple
    options; also note the nested CFIF --->
    <hr>
    <P>Complete information is shown for centers in San Diego
    or Santa Ana.  All other centers are listed in italics:

    <CFOUTPUT QUERY="getCenters">
    <CFIF city is "San Diego" OR city is "Santa Ana">
        <H4>Featured Center in <CFIF city is "San Diego">San
           Diego<CFELSE>Santa Ana</CFIF></H4>
        <B>Name/Address:</B>#Name#, #Address1#, #City#, #State#
        <BR><B>Contact:</B> #Contact#<BR>
    <CFELSE>
        <BR><I>#Name#, #City#</I>
    </CFIF>
    </CFOUTPUT>

    <P>Finally, we can use CFELSEIF to cycle through a number
    of conditions and produce varying output.  Note that you
    can use CFCASE and CFSWITCH for a more elegant representation
    of this behavior.
    <hr>
    <P>
    <!--- use CFIF in conjunction with CFELSEIF to specify
    more than one branch in a conditional situation --->
    <CFOUTPUT QUERY="getCenters">
    <CFIF city is "San Diego" OR city is "Santa Ana">
        <BR><I>#Name#, #City#</I> (this one is in <CFIF city is "San
           Diego">San Diego<CFELSE>Santa Ana</CFIF>)
    <CFELSEIF city is "San Francisco">
        <BR><I>#Name#, #City#</I> (this one is in San Francisco)
    <CFELSEIF city is "Suisun">
        <BR><I>#Name#, #City#</I> (this one is in Suisun)
    <CFELSE>
        <BR><I>#Name#</I> <B>Not in a city we track</B>
    </CFIF>
    </CFOUTPUT>

    </BODY>
    </HTML>