オブジェクトを多次元メニューに入力します
-
10-10-2019 - |
質問
メニューを配列またはその他のデータ型に入れる効果的な方法があるのではないかと思います。 PHPで私はこのようなことをします:
$menu[1] = "home";
$menu[2] = "news";
$menu[3]["item"] = "products";
$menu[3]["subMenu"][1] = "jackets";
$menu[3]["subMenu"][2] = "T-shirts";
$menu[4] = "contact";
しかし、私はColdFusionでこれをどのように行うかはわかりません。このデータをDBから取得してオブジェクトに押し込みたいと思います。これにより、配列からHTMLを生成できます。
解決
実際には非常に似ています。これは、配列のColdFusion 8(またはそれ以上)を推定します(または[]
)およびstruct({}
)リテラル:
<cfset menu = [] /> <!--- Create initial array --->
<cfset menu[1] = "home" />
<cfset menu[2] = "news" />
<cfset menu[3] = {} /> <!--- Create structure --->
<cfset menu[3]["item"] = "products" /> <!--- Address structure by key --->
<cfset menu[3]["subMenu"] = [] />
<cfset menu[3]["subMenu"][1] = "jackets" />
<cfset menu[3]["subMenu"][2] = "T-shirts" />
<cfset menu[4] = "contact" />
<cfdump var="#menu#" /> <!--- Output --->
それが役立つことを願っています!
他のヒント
Ciaranの答えをさらに進めるために、CF 9のオブジェクトリテラルで完全に行うことができます。
<cfset menu = ["home",
"news",
{"item"="products",
"subMenu"= ["jackets",
"T-shirts"]},
"contact"]>
<cfdump var="#menu#" /> <!--- Output --->
所属していません StackOverflow