Gets a structure(s) from a specified path.
An alias to the variable in the PathDesired
parameter. If necessary, StructGet
creates structures or arrays to make PathDesired a valid variable "path."
StructGet(pathDesired)
New in ColdFusion MX: this function can be used on XML objects.
New in ColdFusion MX: if there is no structure or array present in pathDesired
, this function creates structures or arrays to make PathDesired a valid variable "path."
Parameter | Description |
---|---|
pathDesired |
Pathname of variable that contains structure or array from which ColdFusion retrieves structure. |
You can inadvertently create invalid structures using this function. For example, if array notation is used to expand an existing array, the specified new element is created, regardless of the type currently held in the array.
<!--- GetStruct() test ---> <cfset test = StructGet( "dog.myscope.test" )> <cfset test.foo = 1> <cfif NOT IsDefined("dog")> Dog is not defined<br> </cfif> <cfif NOT IsDefined("dog.myscope")> Dog.Myscope is not definded<br> </cfif> <cfif NOT Isdefined("dog.myscope.test")> Dog.Myscope.Test is not defined<br> </cfif> <cfif NOT Isdefined("dog.myscope.test.foo")> Dog.Myscope.Test.Foo is not defined<br> </cfif> <cfoutput> #dog.myscope.test.foo#<br> </cfoutput> <cfset test = StructGet( "request.myscope[1].test" )> <cfset test.foo = 2> <cfoutput> #request.myscope[1].test.foo#<br> </cfoutput> <cfset test = StructGet( "request.myscope[1].test[2]" )> <cfset test.foo = 3> <cfoutput> #request.myscope[1].test[2].foo#<br> </cfoutput>