Как перебрать массив структур в ColdFusion - PullRequest
3 голосов
/ 08 февраля 2012

У меня есть этот массив структур:

<cfset table_columns = [
    {name="Right Name", var_name="right_name",  searchable="true", sortable="true"},
    {name="Right Type", var_name="right_type", searchable="true", sortable="true"},
    {name="Right Description", var_name="right_descr", searchable="true", sortable="true"},
    {name="Edit", var_name = "editcol", searchable="false", sortable="false"}
]>

Как бы я прошел через это? Вот пример того, что мне нужно сделать (что, очевидно, не работает):

<cfloop array="#table_columns#" index="data_index">
    {"sName": "#table_columns[data_index]['name']#", "sTitle": "#table_columns[data_index]['var_name']#", "bsearchable": "#table_columns[data_index]['searchable']#", "bsortable": "#table_columns[data_index]['sortable']#"},
</cfloop>

Ответы [ 2 ]

6 голосов
/ 08 февраля 2012

В цикле массива значение index является элементом массива, а не позицией.Значение data_index является структурой.Таким образом, вы можете вывести ключи как обычно (со структурой или точечной нотацией).

<cfloop array="#table_columns#" index="data_index">
    {"sName": "#data_index['name']#", "sTitle": "#data_index['var_name']#", "bsearchable": "#data_index['searchable']#", "bsortable": "#data_index['sortable']#"},
</cfloop>
1 голос
/ 08 февраля 2012
<cfloop collection="#table_columns#" item="data_index">

Это приближение взято из документов CF:

http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-71a6.html

Мне никогда не приходилось это делать, но, надеюсь, это поможет тебе начать.

...