When working with structures nested that deeply you might consider IsDefined instead.
<cfif IsDefined('session.currentUser.permissions.' & arguments.path)> It's not a best practice necessarily, but it would prevent a whole bunch of StructKeyExists calls. andy -----Original Message----- From: Tom King [mailto:mailingli...@oxalto.co.uk] Sent: Monday, June 14, 2010 9:20 AM To: cf-talk Subject: Finding the value of a key in a nested structure Ok, my brain is hurting - I know this should be possible, but I can't quite get the syntax. I need to pass a string (a path to a structure which contains a boolean in the session scope) into a function, which then checks the value: i.e <cfif checkPermission("email.send.all")> Show a form or page </cfif> <cffunction name="checkPermission"> <cfargument name="path"> <cfif session.currentUser.permissions['#arguments.path#']> <cfreturn true> <cfelse> <cfreturn false> </cfif> </cffunction> So in this instance, CF is looking for session.currentUser.permissions['email.send.all'] - i.e a structure key name of 'email.send.all' , rather than "session.currentUser.permissions.email.send.all" Is there an elegant solution to this problem? Ta T ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology-Michael-Dinowitz/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:334529 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm