For the complete experience, please enable JavaScript in your browser. Thank you!

  • Creative Cloud
  • Photoshop
  • Illustrator
  • InDesign
  • Premiere Pro
  • After Effects
  • Lightroom
  • See all
  • See plans for: businesses photographers students
  • Document Cloud
  • Acrobat DC
  • eSign
  • Stock
  • Elements
  • Marketing Cloud
  • Analytics
  • Audience Manager
  • Campaign
  • Experience Manager
  • Media Optimizer
  • Target
  • See all
  • Acrobat Reader DC
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player
  • All products
  • Creative Cloud
  • Individuals
  • Photographers
  • Students and Teachers
  • Business
  • Schools and Universities
  • Marketing Cloud
  • Document Cloud
  • Stock
  • Elements
  • All products
  • Get Support
    Find answers quickly. Contact us if you need to.
    Start now >
  • Learn the apps
    Get started or learn new ways to work.
    Learn now >
  • Ask the community
    Post questions and get answers from experts.
    Start now >
    • About Us
    • Careers At Adobe
    • Investor Relations
    • Privacy  |  Security
    • Corporate Responsibility
    • Customer Showcase
    • Events
    • Contact Us
News
    • 3/22/2016
      Adobe Summit 2016: Are You An Experience Business?
    • 3/22/2016
      Adobe Announces Cross-Device Co-op to Enable People-Based Marketing
    • 3/22/2016
      Adobe and comScore Advance Digital TV and Ad Measurement
    • 3/22/2016
      Adobe Marketing Cloud Redefines TV Experience
CFML Reference / 

IIf

Adobe Community Help


Applies to

  • ColdFusion

Contact support

 
By clicking Submit, you accept the Adobe Terms of Use.
 

Description

Evaluates a Boolean conditional dynamic expression. Depending on whether the expression is yes or no, dynamically evaluates one of two string expressions and returns the result. This function is convenient for incorporating a cfif tag in-line in HTML.For general conditional processing, see cfif. For error handling, see cftry. For more information, see the Developing ColdFusion Applications.

Returns

If result is yes, returns the value of Evaluate(string_expression1); otherwise, returns the value of Evaluate(string_expression2).

Category

Decision functions, Dynamic evaluation functions

Function syntax

IIf(condition, string_expression1, string_expression2)

See also

DE, Evaluate

Parameters

Parameter

Description

condition

An expression that can be evaluated as a Boolean.

string_expression1

A string or a variable that contains one. Expression to evaluate and return if condition is yes.

string_expression2

A string or a variable that contains one. Expression to evaluate and return if condition is no.

Usage

The IIf function is a shortcut for the following construct:

<cfif condition> 
<cfset result = Evaluate(string_expression1)> 
<cfelse> 
<cfset result = Evaluate(string_expression2)> 
</cfif>

The expressions string_expression1 and string_expression2 must be string expressions, so that they are not evaluated immediately as the parameters of IIf. For example:

IIf(y is 0, DE("Error"), x/y)

If y = 0, this generates an error, because the third expression is the value of x/0 (invalid expression).ColdFusion evaluates string_expression1 and string_expression2. To return the string itself, use the DE function.

Note: If you use number signs (#) in string_expression1 or string_expression2, ColdFusion evaluates the part of the expression in number signs first. If you misuse the number signs, you can cause unexpected results from the IIf function. For example, if you use number signs around the whole expression in string_expression1, and if there is an undefined variable in string_expression1, the function might fail, with the error "Error Resolving Parameter."

If a variable is undefined, ColdFusion throws an error when it processes this function. The following example shows this problem:

#IIf(IsDefined("Form.Deliver"), DE(Form.Deliver), DE("no"))#

This returns "Error resolving parameter FORM.DELIVER".To avoid this problem, use the DE and Evaluate functions in code such as the following:

#IIf(IsDefined("Form.Deliver"), Evaluate(DE("Form.Deliver")), DE("no"))#

This returns "no"; ColdFusion does not throw an error.In the following example, LocalVar is undefined; however, if you omit number signs around LocalVar, the code works properly:

<cfoutput> 
#IIf(IsDefined("LocalVar"), "LocalVar", 
DE("The variable is not defined."))# 
</cfoutput>

The output is:

Note: The variable is not defined.

The number signs around LocalVar in the following code cause it to fail with the error message 'Error Resolving Parameter', because ColdFusion never evaluates the original condition IsDefined("LocalVar").Here is another example:

<cfoutput> 
#IIf(IsDefined("LocalVar"), DE("#LocalVar#"), DE("The variable is not defined."))# 
</cfoutput>

The error message would be as follows:

Error resolving parameter LOCALVAR

The DE function has no effect on the evaluation of LocalVar, because the number signs cause it to be evaluated immediately.

Example

<h3>IIf Function Example</h3> 
<p>IIf evaluates a condition, and does an Evaluate on string 
expression 1 or string expression 2 depending on the Boolean 
outcome <I>(yes: run expression 1; no: run expression 2)</I>.</p> 
<p>The result of the expression 
IIf( Hour(Now()) GTE 12, 
DE("It is afternoon or evening"), 
DE("It is morning")) 
is:<br><b> 
<cfoutput> 
#IIf( Hour(Now()) GTE 12, 
DE("It is afternoon or evening"), 
DE("It is morning"))# 
</cfoutput> 
</b>

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy

Choose your region United States (Change)   Products   Downloads   Learn & Support   Company
Choose your region Close

Americas

Europe, Middle East and Africa

Asia Pacific

  • Brasil
  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States
  • Africa - English
  • Österreich - Deutsch
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Hrvatska
  • Cyprus - English
  • Česká republika
  • Danmark
  • Eesti
  • Suomi
  • France
  • Deutschland
  • Greece - English
  • Magyarország
  • Ireland
  • Israel - English
  • ישראל - עברית
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • Malta - English
  • الشرق الأوسط وشمال أفريقيا - اللغة العربية
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Polska
  • Portugal
  • România
  • Россия
  • Srbija
  • Slovensko
  • Slovenija
  • España
  • Sverige
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • Southeast Asia (Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam) - English
  • 台灣

Commonwealth of Independent States

  • Includes Armenia, Azerbaijan, Belarus, Georgia, Moldova, Kazakhstan, Kyrgyzstan, Tajikistan, Turkmenistan, Ukraine, Uzbekistan

Copyright © 2016 Adobe Systems Incorporated. All rights reserved.

Terms of Use | Privacy | Cookies

AdChoices