Creates a new, empty structure. The shorthand syntax for an empty unordered struct is {}. You can also use the syntax {"key":"value"} to initialize it with values. The shorthand syntax for an ordered struct is [:] or [=]. The shorthand for a case-sensitive struct is ${}.The shorthand for a ordered and casesensitive struct is $[=].
NOTE: To preserve the case of the struct key, place quotes around it, otherwise it will be converted to uppercase.
structNew([type[[,sortType][,sortOrder][,localeSensitive]|[,callback]]])
returns struct
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| type | string | No | CF2016+ Lucee4.5+ If set to ordered the order in which elements are added to the structure will be maintained. In Lucee linked can be used in place of ordered. |
|
CF2021+ If set to casesensitive the keys will remain case-sensitive. Additionally, ordered-casesensitive can be used to create an ordered case-sensitive struct. |
||||
| sortType | string | No | CF2016u3+ Sort types are text or numeric. | |
| sortOrder | string | No | asc | CF2016u3+ The order of the sort (ascending or descending). |
| localeSensitive | boolean | No | false | CF2016u3+ Specify if you wish to do a locale sensitive sorting. |
| callback | function | No | CF2016u3+ A comparator function used to sort new data entered into the structure. Returns 1, 0 or -1. |
Creates an unordered struct.
unordered = { a=1, c=3, b=2 };
writeDump( unordered );
Creates an unordered struct.
unordered = structNew();
unordered.a = 1;
unordered.b = 2;
unordered.c = 3;
writeDump( unordered );
CF2016+ Creates an ordered struct. Note the square brackets.
ordered = [ a=1, b=2, c=3 ];
writeDump( ordered );
CF2016+ Lucee4.5+ Creates an ordered struct.
ordered = structNew( "ordered" );
ordered.a = 1;
ordered.b = 2;
ordered.c = 3;
writeDump( ordered );
CF2016+ Lucee5+ Creates an ordered struct.
ordered = [:];
ordered.a = 1;
ordered.b = 2;
ordered.c = 3;
writeDump( ordered );
CF2021+ Creates a case-sensitive struct.
casesensitive = structNew( "casesensitive" );
casesensitive.a = 1;
casesensitive.B = 2;
casesensitive.c = 3;
writeDump( casesensitive );
CF2021+ Creates a case-sensitive struct.
casesensitive = ${a=1, B=2, c=3};
writeDump( casesensitive );
CF2021+ Creates a case-sensitive struct.
someStruct = structNew( "ordered-casesensitive" );
someStruct.c = 3;
someStruct.B = 2;
someStruct.a = 1;
writeDump( someStruct );
CF2021+ Creates an ordered and case-sensitive struct.
someStruct = $[c=3, B=2, a=1];
writeDump( someStruct );