structAppend

Description

Appends one structure to another.

Categories

History

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

Syntax

StructAppend(struct1, struct2, overwriteFlag)

Attributes

AttributeDescriptionRequiredDefault
overwriteFlagTrue or Yes: values in struct2 overwrite corresponding values in struct1. Default. False or No: values in struct2 do not overwrite corresponding values in struct1.
struct1Structure to which struct2 is appended.
struct2Structure that contains the data to append to struct1

Returns

True, upon successful completion; False, otherwise.

Usage

This function appends the fields and values of struct2 to struct1; struct2 is not modified. If struct1 already contains a field of struct2, overwriteFlag determines whether the value in struct2 overwrites it.
A structure’s keys are unordered.

Example

<html> 
<body> 
<!---- Create a Name structure ---> 
<cfset nameCLK=StructNew()> 
<cfset nameCLK.first="Chris"> 
<cfset nameCLK.middle="Lloyd"> 
<cfset nameCLK.last="Gilson"> 
<!--- Create an address struct ---> 
<cfset addrCLK=StructNew()> 
<cfset addrCLK.street="17 Gigantic Rd"> 
<cfset addrCLK.city="Watertown"> 
<cfset addrCLK.state="MA"> 
<cfset addrCLK.zip="02472"> 
<!---- Create a Person structure ---> 
<cfset personCLK=StructNew()> 
<cfset personCLK.name=#nameCLK#> 
<cfset personCLK.addr=#addrCLK#> 
<!--- Display the contents of the person struct before the Append ---> 
 
The person struct <b>before</b> the Append call:<br> 
<cfloop collection=#personCLK# item="myItem"> 
<cfoutput> 
#myItem#<br> 
</cfoutput> 
</cfloop> 
<!--- Merge the address struct into the top-level person struct ---> 
<cfset bSuccess = StructAppend( personCLK, addrCLK )> 
 
<!--- Display the contents of the person struct, after the Append ---> 
 
The person struct <b>after</b> the Append call:<br> 
<cfloop collection=#personCLK# item="myItem"> 
    <cfoutput> 
        #myItem#<br> 
    </cfoutput> 
</cfloop>