我想帮助我在Coldfusion中使用以下三元运算符(一直吹动)的语法:
iif(structKeyExists(session, "newUser") ? session.newUser.planId : 0)
这是以下模型调用的一部分:
user = model("user").new(UUID=createUUID(), planId=iif(structKeyExists(session, "newUser") ? session.newUser.planId : 0));
然而,它不断爆炸:
IIF的参数验证错误 功能。该功能需要3个 参数。
答案 0 :(得分:9)
根据Adobe's documentation,iif
的函数语法如下所示:
IIf(condition, string_expression1, string_expression2)
所以在你的情况下,你会这样称呼它:
iif(structKeyExists(session, "newUser"), session.newUser.planId, 0)
这与三元运算符(?:
)不同,后者描述为here,并遵循以下语法:
(Boolean expression)? expression1 : expresson2
在您的情况下,看起来像这样:
planId=structKeyExists(session, "newUser") ? session.newUser.planId : 0