ColdFusion ArrayContains 问题
ColdFusion ArrayContains issue
问题: 我正在尝试检查我的变量 user_ID 的值是否在我创建的数组之一中?
背景: 我不确定我的语法是否正确 我已经在下面发布了它,其中包含我从 cfcatch 得到的错误。
<cfargument name="usr_ID" required="yes">
<cfset arrRFQUsers = [ "1346", "2246", "130","2223", "3712", "24","6444", "6953", "7240"] />
<cfset arrRFQAdmin = [ "599", "10", "28","45","7420", "7340"] />
<cfif #ArrayContains(arrRFQUsers, usr_ID)# >
<cfset userReturn = "rfqUser">
<elseif #ArrayContains(arrRFQAdmin, usr_ID)# >
<cfset userReturn = "rfqAdmin">
<elseif>
<cfset userReturn = "Not Set">
</cfif>
<cfreturn userReturn>
这是我看到的错误:
Other Error: Expression
Message: Variable USERRETURN is undefined.
Detail:
我认为 ColdFusion 中没有 <elseif>
标签(除非它是最近引入的),但无论如何,<cfif>
的最后一部分应该只是 <cfelse>
而不是 <cfelseif>
:
<cfif ArrayContains(arrRFQUsers, usr_ID)>
<cfset userReturn = "rfqUser">
<cfelseif ArrayContains(arrRFQAdmin, usr_ID)>
<cfset userReturn = "rfqAdmin">
<cfelse>
<cfset userReturn = "Not Set">
</cfif>
<cfreturn userReturn>
请注意,我已经删除了您在这里不需要的无关井号 #
。
我还建议在 <cfif>
之前的开头设置一个默认值,这样您就可以确定该值将存在。我还建议您显式地确定变量的范围(例如,使用 arguments.usr_ID
而不是 usr_ID
,并将您的函数变量放入 local
范围):
<cfargument name="usr_ID" required="yes">
<cfset local.arrRFQUsers = [ "1346", "2246", "130","2223", "3712", "24","6444", "6953", "7240"] />
<cfset local.arrRFQAdmin = [ "599", "10", "28","45","7420", "7340"] />
<cfset local.userReturn = "Not Set" />
<cfif ArrayContains(local.arrRFQUsers, arguments.usr_ID)>
<cfset local.userReturn = "rfqUser" />
<cfelseif ArrayContains(local.arrRFQAdmin, arguments.usr_ID)>
<cfset local.userReturn = "rfqAdmin" />
</cfif>
<cfreturn local.userReturn />
问题: 我正在尝试检查我的变量 user_ID 的值是否在我创建的数组之一中?
背景: 我不确定我的语法是否正确 我已经在下面发布了它,其中包含我从 cfcatch 得到的错误。
<cfargument name="usr_ID" required="yes">
<cfset arrRFQUsers = [ "1346", "2246", "130","2223", "3712", "24","6444", "6953", "7240"] />
<cfset arrRFQAdmin = [ "599", "10", "28","45","7420", "7340"] />
<cfif #ArrayContains(arrRFQUsers, usr_ID)# >
<cfset userReturn = "rfqUser">
<elseif #ArrayContains(arrRFQAdmin, usr_ID)# >
<cfset userReturn = "rfqAdmin">
<elseif>
<cfset userReturn = "Not Set">
</cfif>
<cfreturn userReturn>
这是我看到的错误:
Other Error: Expression
Message: Variable USERRETURN is undefined.
Detail:
我认为 ColdFusion 中没有 <elseif>
标签(除非它是最近引入的),但无论如何,<cfif>
的最后一部分应该只是 <cfelse>
而不是 <cfelseif>
:
<cfif ArrayContains(arrRFQUsers, usr_ID)>
<cfset userReturn = "rfqUser">
<cfelseif ArrayContains(arrRFQAdmin, usr_ID)>
<cfset userReturn = "rfqAdmin">
<cfelse>
<cfset userReturn = "Not Set">
</cfif>
<cfreturn userReturn>
请注意,我已经删除了您在这里不需要的无关井号 #
。
我还建议在 <cfif>
之前的开头设置一个默认值,这样您就可以确定该值将存在。我还建议您显式地确定变量的范围(例如,使用 arguments.usr_ID
而不是 usr_ID
,并将您的函数变量放入 local
范围):
<cfargument name="usr_ID" required="yes">
<cfset local.arrRFQUsers = [ "1346", "2246", "130","2223", "3712", "24","6444", "6953", "7240"] />
<cfset local.arrRFQAdmin = [ "599", "10", "28","45","7420", "7340"] />
<cfset local.userReturn = "Not Set" />
<cfif ArrayContains(local.arrRFQUsers, arguments.usr_ID)>
<cfset local.userReturn = "rfqUser" />
<cfelseif ArrayContains(local.arrRFQAdmin, arguments.usr_ID)>
<cfset local.userReturn = "rfqAdmin" />
</cfif>
<cfreturn local.userReturn />