gpt4 book ai didi

coldfusion - 如何测试 ColdFusion 结构中是否存在变量?

转载 作者:行者123 更新时间:2023-12-02 22:16:53 26 4
gpt4 key购买 nike

我想测试:

<cfif Exists(MyStruct["mittens"])>
</cfif>

如果 MyStruct 中不存在“mittens”键,它将返回什么? 0,还是“”??

应该用什么替换 Exists 函数?

更新

我试过了,

<cfif IsDefined(MyStruct.mittens)>

这也会引发错误

Element Mittens is undefined in MyStruct.

最佳答案

要测试 key 是否存在,我建议:

<cfif StructKeyExists(MyStruct, "mittens")>

<!--- or --->

<cfset key = "mittens">
<cfif StructKeyExists(MyStruct, key)>

在幕后,这会调用 ColdFusion 结构所基于的 java.util.map 的 containsKey() 方法。这可以说是查找 key 是否存在的最快方法。

替代方案是:

<cfif IsDefined("MyStruct.mittens")>

<!--- or --->

<cfset key = "mittens">
<cfif IsDefined("MyStruct.#key#")>

在幕后,它对传递的字符串调用 Eval() (至少我相信)并告诉您结果是否是变量引用。相比之下,这比 StructKeyExists() 慢。从好的方面来说:您可以在一次调用中测试嵌套结构中的子键:

<cfif IsDefined("MyStruct.with.some.deeply.nested.key")>

关于coldfusion - 如何测试 ColdFusion 结构中是否存在变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/771226/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com