2

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 つのパラメーターを取ります。

4

1 に答える 1

9

Adobe のドキュメントによると、 の関数構文はiif次のようになります。

IIf(condition, string_expression1, string_expression2)

したがって、あなたの場合、次のように呼び出します。

iif(structKeyExists(session, "newUser"), session.newUser.planId, 0)

これは、ここ?:で説明され、次の構文に従う三項演算子 ( ) とは異なります。

(Boolean expression)? expression1 : expresson2

あなたの場合、これは次のようになります。

planId=structKeyExists(session, "newUser") ? session.newUser.planId : 0
于 2011-04-19T17:42:21.583 に答える