私は非常に大きな構造体を持っていますが、残念ながらキーの代わりに値しか利用できません。構造体のキーと値を切り替えたり、値を渡してキーを検索したりする方法はありますか?
(私は他の誰かのコードを使用していて、それを変更することはできません。)
私は非常に大きな構造体を持っていますが、残念ながらキーの代わりに値しか利用できません。構造体のキーと値を切り替えたり、値を渡してキーを検索したりする方法はありますか?
(私は他の誰かのコードを使用していて、それを変更することはできません。)
値しかわからない場合は、関数StructFindValueを使用して構造体キーを検索します。
一致の配列を返します (ただし、デフォルトでは 1 つの一致に制限されています)。各配列要素には、3 つのキーを持つ構造体が含まれています。
CGI スコープ内の localhost IP アドレスを指すキーを検索します (スコープも構造体です)。
<cfset Result = StructFindValue( CGI , '127.0.0.1' ) />
<cfdump var=#Result[1].Key# />
出力remote_addr
- 最初に見つかった値。
構造体の順序は保証されていないことに注意してください。最初の値は状況によって異なる場合があります。
すべての結果を取得するには、scope パラメーターをall
次のように指定するだけです。
<cfset Result = StructFindValue( CGI , '127.0.0.1' , 'all' ) />
<cfloop index=i from=1 to=#ArrayLen(Result)#>
<cfdump var=#Result[i].Key# />
</cfloop>
出力しremote_addr
remote_host
local_addr
ます。