<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc = "http://purl.org/dc/elements/1.1/" xmlns="http://purl.org/rss/1.0/">
	<channel rdf:about="http://livedocs.adobe.com/">
	<title>LiveDocs Comments - coldfusion - 7 - htmldocs - 00000960.htm</title>	
		<link>http://livedocs.adobe.com/</link>
		<description>Macromedia LiveDocs - online documentation with user feedback.</description>
		<copyright>Copyright 2009, Macromedia, Inc.</copyright>
		<dc:date>2009-11-26T10:44:19</dc:date>
		<dc:language>en-us</dc:language>
		<items>
			<rdf:Seq>
				<rdf:li rdf:resource="http://livedocs.adobe.com/coldfusion/7/htmldocs/00000960.htm#70432" />
				<rdf:li rdf:resource="http://livedocs.adobe.com/coldfusion/7/htmldocs/00000960.htm#70430" />
				<rdf:li rdf:resource="http://livedocs.adobe.com/coldfusion/7/htmldocs/00000960.htm#70420" />
				<rdf:li rdf:resource="http://livedocs.adobe.com/coldfusion/7/htmldocs/00000960.htm#70419" />
			</rdf:Seq>
		</items>
	</channel>
	
	<item rdf:about="http://livedocs.adobe.com/coldfusion/7/htmldocs/00000960.htm#70432">
		<title>coldfusion/7/htmldocs/00000960.htm</title>
		<link>http://livedocs.adobe.com/coldfusion/7/htmldocs/00000960.htm#70432</link>
		<description>This is not an official Adobe response, but my personal observation:&lt;br&gt;I'd be careful about using all-numeric structure key names.&lt;br&gt;As a general rule, ColdFusion correctly converts between numeric values and their string representations.&lt;br&gt;Therefore, you can use an-all numeric structure key because it is really a string of numeric characters.&lt;br&gt;However, doing so results in the &quot;interesting&quot; behaviors that Ashish-Saxena points out.</description>
		<dc:creator>halL</dc:creator>
		<dc:type>1 0</dc:type>
		<dc:date>2007-07-20T08:32:34</dc:date>
	</item>
	<item rdf:about="http://livedocs.adobe.com/coldfusion/7/htmldocs/00000960.htm#70430">
		<title>coldfusion/7/htmldocs/00000960.htm</title>
		<link>http://livedocs.adobe.com/coldfusion/7/htmldocs/00000960.htm#70430</link>
		<description>Here is full working code based on Ahsish-Saxena's sample.&lt;br&gt;&lt;br&gt;&lt;cfscript&gt;&lt;br&gt;myStruct=StructNew();&lt;br&gt;myStruct.type = &quot;key&quot;;&lt;br&gt;mystruct.key1 = 1;&lt;br&gt;myStruct.key2[1] = 3;&lt;br&gt;myStruct[&quot;key3&quot;][&quot;struct2key2&quot;] = 5;&lt;br&gt;myStruct.key2[mystruct.key1 + mystruct.key1] = 9;&lt;br&gt;myStruct[&quot;key&quot;&amp; myStruct.key2[2]][&quot;struct2key2&quot;] = 5;&lt;br&gt;myStruct[ myStruct.type &amp; myStruct.key2[2]][&quot;struct2key2&quot;] = 5;&lt;br&gt;&lt;/cfscript&gt;&lt;br&gt;&lt;br&gt;&lt;cfdump var=#myStruct#&gt;&lt;br&gt;</description>
		<dc:creator>halL</dc:creator>
		<dc:type>1 0</dc:type>
		<dc:date>2007-07-20T08:04:02</dc:date>
	</item>
	<item rdf:about="http://livedocs.adobe.com/coldfusion/7/htmldocs/00000960.htm#70420">
		<title>coldfusion/7/htmldocs/00000960.htm</title>
		<link>http://livedocs.adobe.com/coldfusion/7/htmldocs/00000960.htm#70420</link>
		<description>Key names can be derived by combinations of variables:&lt;br /&gt;I am adding a line of code in above code of structure &lt;br /&gt;&lt;cfset myStruct.type=&quot;key&quot;&gt;&lt;br /&gt;See the last two lines of code and its output:&lt;br /&gt;&lt;br /&gt;myStruct.type = key&lt;br /&gt;mystruct.key1 = 1&lt;br /&gt;myStruct.key2[2] = 3&lt;br /&gt;myStruct[&quot;key3&quot;][&quot;struct2key2&quot;] = 5&lt;br /&gt;myStruct.key2[mystruct.key1 + mystruct.key1] = 3&lt;br /&gt;myStruct[&quot;key&quot;&amp; myStruct.key2[2]][&quot;struct2key2&quot;] = 5&lt;br /&gt;myStruct[ myStruct.type &amp; myStruct.key2[2]][&quot;struct2key2&quot;] = 5</description>
		<dc:creator>Ashish-Saxena</dc:creator>
		<dc:type>0 0</dc:type>
		<dc:date>2007-07-20T03:57:54</dc:date>
	</item>
	<item rdf:about="http://livedocs.adobe.com/coldfusion/7/htmldocs/00000960.htm#70419">
		<title>coldfusion/7/htmldocs/00000960.htm</title>
		<link>http://livedocs.adobe.com/coldfusion/7/htmldocs/00000960.htm#70419</link>
		<description>We know &quot;A structure's key must be a string.&quot;, but structure's key name (not key value) may be a numeric also for example if array index (with in a structure) is using as structure key, following scenior may be possible: &lt;br /&gt;&lt;br /&gt;&lt;cfset myArray=ArrayNew(1)&gt;&lt;br /&gt;&lt;cfset myArray[1]=&quot;2&quot;&gt;&lt;br /&gt;&lt;cfset myArray[2]=&quot;3&quot;&gt;&lt;br /&gt;&lt;cfset myStruct2=StructNew()&gt;&lt;br /&gt;&lt;cfset myStruct2.struct2key1=&quot;4&quot;&gt;&lt;br /&gt;&lt;cfset myStruct2.struct2key2=&quot;5&quot;&gt;&lt;br /&gt;&lt;cfset myStruct2.22=&quot;Value22&quot;&gt;&lt;br /&gt;&lt;cfset myStruct=StructNew()&gt;&lt;br /&gt;&lt;cfset myStruct.key1=&quot;1&quot;&gt;&lt;br /&gt;&lt;cfset myStruct.key2=myArray&gt;&lt;br /&gt;&lt;cfset myStruct.key3=myStruct2&gt;&lt;br /&gt;&lt;br /&gt;Note the line of code &lt;cfset myStruct2.22=&quot;Value22&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;cfloop collection=&quot;#myStruct2#&quot; item=&quot;key&quot;&gt;   &lt;br /&gt;   &lt;cfoutput&gt;&lt;br /&gt;   Key:  &quot;#key#&quot; is &lt;br /&gt;   &lt;cfif IsNumeric(key)&gt;&lt;br /&gt;     &quot;a Numeric&quot;&lt;br /&gt;   &lt;cfelse&gt;&lt;br /&gt;     &quot;Not a Numeric&quot;&lt;br /&gt;   &lt;/cfif&gt;&lt;br /&gt;&lt;br /&gt;   &lt;/cfoutput&gt;&lt;br /&gt;&lt;/cfloop&gt;&lt;br /&gt;&lt;br /&gt;Output:&lt;br /&gt;Key: &quot;STRUCT2KEY1&quot; is &quot;Not a Numeric&quot; &lt;br /&gt;Key: &quot;22&quot; is &quot;a Numeric&quot; &lt;br /&gt;Key: &quot;STRUCT2KEY2&quot; is &quot;Not a Numeric&quot; &lt;br /&gt;&lt;br /&gt;There may be following two cases:&lt;br /&gt;If structure key name(not its value) is of type numeric then remember following points:&lt;br /&gt;(1)With in square bracket[] : &lt;br /&gt;(i) Numaric key name can be either enclosed in quote(single,double) or without quote,but other keys must be in quote otherwise gives Error.&lt;br /&gt;(ii)With in square bracket, other key levels may be in array or object property notation.&lt;br /&gt;myStruct.key3[22] = Value22&lt;br /&gt;myStruct.key3[&quot;22&quot;] = Value22&lt;br /&gt;myStruct.key3['22'] = Value22&lt;br /&gt;myStruct[&quot;key3&quot;][&quot;22&quot;] = Value22&lt;br /&gt;ERROR :(If Key3 is not in quote.) Variable KEY3 is undefined. myStruct[key3][&quot;22&quot;] &lt;br /&gt;(2)Not in square bracket[] : &lt;br /&gt;(1)Only the dot(object property) notation (in all levels) is used.&lt;br /&gt;ERROR- myStruct[&quot;key3&quot;].22 &lt;br /&gt;myStruct.key3.22 = Value22&lt;br /&gt;(3)Use built in function StructFind(). &lt;br /&gt;StructFind(myStruct.key3,&quot;22&quot;) = Value22&lt;br /&gt;&lt;br /&gt;If array index is using as structure key(i.e. numeric key, not value of key): &lt;br /&gt;(1)With in square bracket[] : &lt;br /&gt;(i) Numaric(Indexed) key name can be either enclosed in quote(single,double) or without quote,but other keys must be in quote otherwise gives Error.&lt;br /&gt;(ii)With in square bracket, other key levels may be in array or object property notation.&lt;br /&gt;myStruct.key2[2] = 3&lt;br /&gt;myStruct.key2[&quot;2&quot;] = 3&lt;br /&gt;myStruct.key2['2'] = 3&lt;br /&gt;myStruct[&quot;key2&quot;]['2'] = 3&lt;br /&gt;ERROR :(If key2 is not in quote.) Variable KEY2 is undefined.myStruct[key2]['2'] &lt;br /&gt;(2)Not in square bracket[] : &lt;br /&gt;Neither array nor dot notation can be used.&lt;br /&gt;ERROR :myStruct.key2.2 &lt;br /&gt;ERROR :myStruct[&quot;key2&quot;].2 &lt;br /&gt;(3)Cannot use built in function StructFind(). &lt;br /&gt;Both lines give error &lt;br /&gt;You have attempted to dereference a scalar variable of type class coldfusion.runtime.Array as a structure with members.&lt;br /&gt;ERROR :StructFind(myStruct.key2,2) &lt;br /&gt;ERROR :StructFind(myStruct.key2,&quot;2&quot;)</description>
		<dc:creator>Ashish-Saxena</dc:creator>
		<dc:type>0 0</dc:type>
		<dc:date>2007-07-20T03:22:58</dc:date>
	</item>
	</rdf:RDF>

