StructNew

説明

構造体を作成します。

戻り値

構造体。引数で指定された値が "ordered" の場合、この関数は、構造体要素の挿入順序を維持した順序付き構造体を返します。

カテゴリ

履歴

ColdFusion(2021 リリース):作成される構造体として次のタイプが導入されました。

  • ordered-casesensitive
  • casesensitive

ColdFusion(2018 リリース):名前付きパラメーターが導入されました。

ColdFusion(2016 リリース)アップデート 3:ソート済み構造体のサポートが追加されました。

ColdFusion(2016 リリース):順序付き構造体のサポートが追加されました。

シンタックス

StructNew(type, sortType, sortOrder, localeSensitive)
StructNew(type,callback)

関連項目

構造体関数、『ColdFusion アプリケーションの開発』ガイドの構造体関数

パラメーター

パラメーター

説明

type

(オプション)作成する構造体のタイプ。これは Adobe ColdFusion(2016 リリース)の新機能です。"ordered" を指定するか、未指定のままにすることができます。

sortType

(オプション)ソートタイプは "text" または "numeric" です。

sortOrder

(オプション)昇順("asc")または降順("desc")。

localeSensitive

(オプション)true または false です。

callback

(オプション)キーを比較し、1、0、-1 のいずれかを返す比較関数。

<cfscript>
       myStruct=StructNew("Ordered");
       myStruct.item1="Old Trafford";
       myStruct.item2="Anfield";
       myStruct.item3="Stamford Bridge";
       myStruct.item4="Villa Park";
       myStruct.item5="St James Park";
       myStruct.item6="Emirates Stadium";
       myStruct.item7="Etihad Stadium";
       WriteDump(myStruct);
</cfscript>

出力

構造体の例
構造体の例

ソート順序を指定した例

<cfscript>
       // Create a struct of type ordered with sort type as text and sort order as ascending.
       someStruct=StructNew("ordered","text","asc",false);
       someStruct.jonas = {age=26, department="IT"};
       someStruct.jason= {age=29, department="Analytics"};
       someStruct.johnnie = {age=31, department="Accounting"};
       someStruct.john = {age=31, department="Audit"};
       WriteDump(someStruct);     
</cfscript>

出力

ソート順序を指定した例
ソート順序を指定した例

コールバックを指定した例

<cfscript>
sorted = structNew("ordered", function(e1value,e2value,e1key,e2key)
{
return compare(e1key,e2key);
});
       sorted.azure = "blue";
       sorted.adze = "tool";
       sorted.baffle = 01;
       sorted.adamantium = "dork";
       sorted.alabama = 3;
       sorted.ballad = 007;
       sorted.age = 36;
       sorted.aabc= "allardyce";
       sorted.baleful="hodgson";
       sorted.aardvark=-7;
       sorted.back="sort";
       writedump(sorted);
</cfscript>
コールバックを指定した例
コールバックを指定した例

例 - 大文字と小文字を区別する構造体

<cfscript> 
    animals=StructNew("casesensitive") 
    animals.Aardwolf="Proteles cristata" 
    animals.Aardvark="Orycteropus afer" 
    animals.Alligator="Mississippiensis" 
    animals.Albatross="Diomedeidae" 
    writeDump(animals) 
</cfscript>

出力

cs1

例 2- 大文字と小文字を区別する構造体

<cfscript> 
    animals=StructNew("casesensitive") 
    animals.Aardwolf="Proteles cristata" 
    animals.aardvark="Orycteropus afer" 
    animals.Alligator="Mississippiensis" 
    animals.albatross="Diomedeidae" 
    writeDump(animals) 
</cfscript>

出力

cs2

例 - 大文字と小文字を区別する順序付き構造体

<cfscript> 
    animals=StructNew("ordered-casesensitive") 
    animals.Aardwolf="Proteles cristata" 
    animals.Aardvark="Orycteropus afer" 
    animals.Alligator="Mississippiensis" 
    animals.Albatross="Diomedeidae" 
    writeDump(animals) 
</cfscript>

出力

ocs1

例 2- 大文字と小文字を区別する順序付き構造体

<cfscript> 
    animals=StructNew("ordered-casesensitive") 
    animals.Aardwolf="Proteles cristata" 
    animals.aardvark="Orycteropus afer" 
    animals.alligator="Mississippiensis" 
    animals.Albatross="Diomedeidae" 
    writeDump(animals) 
</cfscript>

出力

ocs2

アドビのロゴ

アカウントにログイン