StructKeyList

Description

Extracts keys from a ColdFusion structure.

Returns

A list of keys; if structure does not exist, ColdFusion throws an exception.

Function syntax

StructKeyList(structure [, delimiter])

See also

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

Parameters

Parameter

Description

structure

Structure from which to extract a list of keys.

delimiter

Optional. Character that separates keys in list. The default value is comma.

Usage

A structure’s keys are unordered.

Example

<!--- This example shows how to use StructKeyList to list the keys  
    in a structure. It uses StructNew function to create structure  
    and fills it with information user enters in form fields. ---> 
<!--- This section creates structure and checks whether Submit has been pressed.  
    If so, code defines fields in the employee structure with what the  
    user entered in the form. ---> 
<cfset employee = StructNew()>  
<cfif Isdefined("Form.Submit")> 
    <cfif Form.Submit is "OK"> 
        <cfset employee.firstname = FORM.firstname> 
        <cfset employee.lastname = FORM.lastname> 
        <cfset employee.email = FORM.email> 
        <cfset employee.phone = FORM.phone> 
        <cfset employee.company = FORM.company>  
    <cfelseIf Form.Submit is "Clear"> 
        <cfset rc = StructClear(employee)> 
    </cfif> 
</cfif>     
<html> 
<head> 
    <title>StructKeyList Function</title> 
</head> 
<body> 
<h3>StructKeyList Function</h3> 
<h3>Listing the Keys in the Employees Structure</h3> 
<p>This example uses StructNew function to create structure "employee" that 
    supplies employee information. The fields are filled with the  
    contents of the following form.</p> 
<p>After you enter employee information into structure, example uses 
    <b>StructKeyList</b> function to list keys in structure.</p> 
<p>This code does not show how to insert information into a database.  
    See cfquery for more information about database insertion. 
<hr size = "2" color = "#0000A0"> 
<form action = "structkeylist.cfm"> 
<table cellspacing = "2" cellpadding = "2" border = "0"> 
    <tr> 
    <td>First Name:</td> 
    <td><input name = "firstname" type = "text"  
        value = "" hspace = "30" maxlength = "30"></td> 
    </tr> 
    <tr> 
    <td>Last Name:</td> 
    <td><input name = "lastname" type = "text"  
        value = "" hspace = "30" maxlength = "30"></td> 
    </tr> 
    <tr> 
    <td>EMail</td> 
    <td><input name = "email" type = "text"  
        value = "" hspace = "30" maxlength = "30"></td> 
    </tr> 
    <tr> 
    <td>Phone:</td> 
    <td><input name = "phone" type = "text"  
        value = "" hspace = "20" maxlength = "20"></td> 
    </tr> 
    <tr> 
    <td>Company:</td> 
    <td><input name = "company" type = "text"  
        value = "" hspace = "30" maxlength = "30"></td> 
    </tr> 
    <tr> 
    <td><input type = "submit" name = "submit"         value = "OK"></td> 
    <td><b>After you submit form, scroll down         to see the list.</b></td> 
    </tr> 
</table> 
</form> 
<cfif NOT StructISEmpty(employee)>  
    <hr size = "2" color = "#0000A0">  
    <cfset keysToStruct = StructKeyList(employee,"<li>")> 
    <p>Here are the keys to the structure:</p>  
    <ul> 
    <li>    <cfoutput>#keysToStruct#</cfoutput> 
    </ul> 
    <p>If fields are correct, we can process new employee information.  
    If they are not correct, consider rewriting application.</p> 
</cfif>