structGet
Description
Gets a structure(s) from a specified path.
Categories
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."
Syntax
StructGet(pathDesired)
Attributes
| Attribute | Description | Required | Default |
|---|---|---|---|
| pathDesired | Pathname of variable that contains structure or array from which ColdFusion retrieves structure. |
Returns
An alias
to the variable in the pathDesired parameter. If necessary, StructGet creates
structures or arrays to make pathDesired a valid variable
"path."
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>