对嵌套对象使用structKeyExists

RHP*_*HPT 4 coldfusion struct

我有一个像这样的嵌套结构struct1.struct2.foo.我想检查是否foo存在.但是,struct2也不保证存在.我厌恶使用isDefined(),但我也认为structKeyExists()两次打电话是浪费的(例如,if (structKeyExists(struct, 'struct2') && structKeyExists(struct.struct2, 'foo')) {}

我想过使用structFindKey(),但是如果存在的话,我不想遇到问题struct1.foo

有没有更好的方法来实现这一目标?

这是一个与此问题类似的问题,但我没有处理XML文档,因此该帖子中的大多数答案对我都不起作用.

Hen*_*nry 5

使用没有错isDefined("struct1.struct2.foo").它并不像你想象的那么慢.如果你想让它更快一点,就像从一个范围开始"variables.struct1.struct2.foo"

http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7fbd.html