如何检查是否收到或定义了一个参数?

时间:2013-11-15 23:23:55

标签: coldfusion cffunction

我有一个包含这些参数的函数:

 <cffunction name="Agregar" access="public" returntype="any">
        <cfargument name="id_examen" type="numeric" required="yes" />
        <cfargument name="id_tema" type="numeric" required="yes" />
        <cfargument name="id_tipopregunta" type="numeric" required="yes" />
        <cfargument name="id_dificultad" type="numeric" required="yes" />
        <cfargument name="opciones_arreglo" type="array" required="no" />

我正在尝试使用cfif来说明在未收到参数“opciones_arreglo”时该怎么做。我使用了一个名为isDefined的函数,但它不起作用。我只想让代码运行其他部分,但我得到了关于显而易见的事情的抱怨:

Element OPCIONES_ARREGLO is undefined in ARGUMENTS.


The error occurred in C:\www\htdocs\RHRR\componentes\bro\preguntas.cfc: line 24
22 :         <cfdump var="#Arguments#">
23 :         
24 :        **<cfif IsDefined(Arguments.opciones_arreglo)>**
25 :            
26 :             <cfinvoke method         = "RSAgregar"

2 个答案:

答案 0 :(得分:5)

问题是报价。初学者错误:(

<cfif IsDefined("Arguments.opciones_arreglo")>

答案 1 :(得分:1)

您可以添加默认值,它将始终存在

<cfargument name="opciones_arreglo" type="array" required="no" default="#ArrayNew(1)#" />