Pregunta

Me pregunto si hay una manera más efectiva para poner un menú en una matriz o cualquier otro tipo de datos. Con php me gustaría hacer algo como esto:

$menu[1] = "home";
$menu[2] = "news";
$menu[3]["item"] = "products";
$menu[3]["subMenu"][1] = "jackets";
$menu[3]["subMenu"][2] = "T-shirts";
$menu[4] = "contact";

Sin embargo no tengo idea de cómo se podría hacer esto en ColdFusion. Quiero agarrar estos datos de la base de datos y la empujo hacia un objeto, esto permitirá a mí para generar el código HTML de la matriz.

¿Fue útil?

Solución

En realidad es muy similar. Este ColdFusion 8 (o superior) presume para array ([]) y struct ({}) literales:

<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 --->

Espero que ayude!

Otros consejos

Para tomar la respuesta de Ciaran un paso más allá, puede hacerlo por completo con objetos literales en la FQ 9:

<cfset menu = ["home",
               "news",
               {"item"="products",
               "subMenu"= ["jackets",
                           "T-shirts"]},
               "contact"]>
<cfdump var="#menu#" /> <!--- Output --->
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top