我想知道是否有一种有效的方法将菜单放入数组或任何其他数据类型中。对于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中这样做。我想从数据库中获取这些数据并将其推入对象,这将使我能够从数组中生成HTML。

有帮助吗?

解决方案

实际上非常相似。这假定阵列的ColdFusion 8(或更高)([])和结构({})文字:

<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 --->
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top