测试变量是组件还是布尔值
Test if a variable is a component or Boolean
我想知道如何测试组件的函数是否返回了组件或布尔值 false。
例如组件的查找方法
<cfset hotel = oHotel.findById(1200) />
<cfif hotel >
...
</cfif>
如果找到酒店,则返回一个组件,否则返回 false。
编写这样的代码通常是可以的,还是我应该以另一种方式写入 cfif
?
使用IsValid()
函数如下
<cfset hotel = oHotel.findById(1200) />
<cfif IsValid("component",hotel)> //Hotel found
<!--- Code to perform if it is Component --->
<cfelse>
<!--- Code to perform if it is not a Component --->
</cfif>
或者,IsSimpleValue()
可用于确定变量是否是...一个简单值。也就是说,不是数组、结构、查询或组件。
Returns
True, if value is a string, number, Boolean, or date/time value; False, otherwise.
<cfset hotel = oHotel.findById(1200) />
<cfif IsSimpleValue(hotel)>
<!--- it is a simple value, i.e., NOT a component --->
</cfif>
试试这个:
<cfif isBoolean( hotel )>
....
</cfif>
不过,如果没有匹配ID的酒店,我建议做findById()
return NULL
。然后你会使用
<cfif !isNull( hotel )>
....
</cfif>
我想知道如何测试组件的函数是否返回了组件或布尔值 false。
例如组件的查找方法
<cfset hotel = oHotel.findById(1200) />
<cfif hotel >
...
</cfif>
如果找到酒店,则返回一个组件,否则返回 false。
编写这样的代码通常是可以的,还是我应该以另一种方式写入 cfif
?
使用IsValid()
函数如下
<cfset hotel = oHotel.findById(1200) />
<cfif IsValid("component",hotel)> //Hotel found
<!--- Code to perform if it is Component --->
<cfelse>
<!--- Code to perform if it is not a Component --->
</cfif>
或者,IsSimpleValue()
可用于确定变量是否是...一个简单值。也就是说,不是数组、结构、查询或组件。
Returns
True, if value is a string, number, Boolean, or date/time value; False, otherwise.
<cfset hotel = oHotel.findById(1200) />
<cfif IsSimpleValue(hotel)>
<!--- it is a simple value, i.e., NOT a component --->
</cfif>
试试这个:
<cfif isBoolean( hotel )>
....
</cfif>
不过,如果没有匹配ID的酒店,我建议做findById()
return NULL
。然后你会使用
<cfif !isNull( hotel )>
....
</cfif>