Adobe ColdFusion 8

StructAppend

Description

Appends one structure to another.

Returns

True, upon successful completion; False, otherwise.

Category

Structure functions

Function syntax

StructAppend(struct1, struct2, overwriteFlag)

See also

Structure functions; "Modifying a ColdFusion XML object" in the ColdFusion Developer's Guide

History

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

Parameters

Parameter

Description

struct1

Structure to which struct2 is appended.

struct2

Structure that contains the data to append to struct1

overwriteFlag
  • True or Yes: values in struct2 overwrite corresponding values in struct1. Default.
  • False or No: values in struct2 do not overwrite corresponding values in struct1.

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 --->
<p>
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 --->
<p>
The person struct <b>after</b> the Append call:<br>
<cfloop collection=#personCLK# item="myItem">
    <cfoutput>
        #myItem#<br>
    </cfoutput>
</cfloop>