StructKeyList

Returns the list of keys that are in the specified ColdFusion structure.

See also StructKeyArray, StructClear, StructDelete, StructFind, StructInsert, StructIsEmpty, StructCount, and StructUpdate.

Syntax

StructKeyList(structure, [delimiter])
structure

Structure from which the list of keys are to be extracted.

delimiter

Optional. The value of this parameter indicates the character that will separate the keys in the list. By default, a comma (,) is used.

Usage

The list of keys returned by StructKeyList is not in any particular order. In order to sort keys alphabetically or numerically, use ListSort.

Note that this function throws an exception if structure does not exist.

Example

<!--- This example shows how to use the StructKeyList
      function to list the keys within a specified structure.
      It also uses the StructNew function to create the structure
      and fills its fields with the information the user types 
      into the corresponding form fields. --->
      
<!--- This section of code creates the new structure and checks to 
      see if the submit button has been pressed.  If it has been
      pressed, the code defines fields in the employee structure
      with what the user has entered from 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>

<basefont face="Arial, Helvetica" size=2>

<body  bgcolor="#FFFFD5">

<H3>StructKeyList Function</H3>
<H3>Listing the Keys in the Employees Structure</H3>
<P>
This example uses the StructNew function to create a structure 
that supplies employee information.  The data structure is called 
"employee" and its fields are filled with the contents of the following 
form.
</P>
<P>
After you have entered employee information into the structure, the 
example uses the <b>StructKeyList</b> function to list all of the keys in 
the structure.
</P>
<P>
This code does not show how to insert this information into a database.  
See CFQUERY for more information
about database insertion.

<hr size="2" color="#0000A0">
<FORM ACTION="structkeylist.cfm" METHOD="post">
<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 the 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 these fields are correct, we can process your new employee
    information. If they are not correct, you should consider rewriting
    your application.
    </P>
</CFIF>

</BODY>
</HTML>



1