StructGet

Description

Gets a structure(s) from a specified path.

Returns

An alias to the variable in the pathDesired parameter. If necessary, StructGet creates structures or arrays to make pathDesired a valid variable "path."

Function syntax

StructGet(pathDesired) 

See also

Structure functions; Modifying a ColdFusion XML object in the Developing ColdFusion Applications

History

ColdFusion MX:

  • Changed behavior: this function can be used on XML objects.

  • Changed behavior: if there is no structure or array present in pathDesired, this function creates structures or arrays to make pathDesired a valid variable "path."

Parameters

Parameter

Description

pathDesired

Pathname of variable that contains structure or array from which ColdFusion retrieves structure.

Usage

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.

Example

<!--- 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 defined<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>