我有一个名为$cs_map_data
在PHP文件以下多维数组,我已经将其分配到Smarty模板:如何从smarty中的多维数组访问密钥?
Array
(
[2] => Array
(
[class_id] => 2
[class_name] => II
[class_checked] => 0
[class_subjects] => Array
(
[0] => Array
(
[cs_map_id] => 81
[subject_name] => 11 Engllish
[subject_checked] => 0
[teacher_cs_id] =>
)
)
)
[3] => Array
(
[class_id] => 3
[class_name] => III
[class_checked] => 0
[class_subjects] => Array
(
[0] => Array
(
[cs_map_id] => 155
[subject_name] => Hidi
[subject_checked] => 0
[teacher_cs_id] =>
)
[1] => Array
(
[cs_map_id] => 156
[subject_name] => 11 Maths
[subject_checked] => 0
[teacher_cs_id] =>
)
[2] => Array
(
[cs_map_id] => 157
[subject_name] => 11 Science
[subject_checked] => 0
[teacher_cs_id] =>
)
[3] => Array
(
[cs_map_id] => 158
[subject_name] => 11 Engllish
[subject_checked] => 0
[teacher_cs_id] =>
)
)
)
[4] => Array
(
[class_id] => 4
[class_name] => IV
[class_checked] => 0
[class_subjects] => Array
(
[0] => Array
(
[cs_map_id] => 86
[subject_name] => Physics
[subject_checked] => 0
[teacher_cs_id] =>
)
)
)
[6] => Array
(
[class_id] => 6
[class_name] => VI
[class_checked] => 0
[class_subjects] => Array
(
[0] => Array
(
[cs_map_id] => 144
[subject_name] => Mathematics
[subject_checked] => 0
[teacher_cs_id] =>
)
[1] => Array
(
[cs_map_id] => 145
[subject_name] => dfadadadsagfasrsarasrarBiology
[subject_checked] => 0
[teacher_cs_id] =>
)
)
)
[7] => Array
(
[class_id] => 7
[class_name] => VII
[class_checked] => 0
[class_subjects] => Array
(
[0] => Array
(
[cs_map_id] => 129
[subject_name] => Physics
[subject_checked] => 0
[teacher_cs_id] =>
)
[1] => Array
(
[cs_map_id] => 130
[subject_name] => Chemistry11
[subject_checked] => 0
[teacher_cs_id] =>
)
[2] => Array
(
[cs_map_id] => 131
[subject_name] => 11 Science
[subject_checked] => 0
[teacher_cs_id] =>
)
)
)
[8] => Array
(
[class_id] => 8
[class_name] => VIII
[class_checked] => 0
[class_subjects] => Array
(
[0] => Array
(
[cs_map_id] => 67
[subject_name] => Hidi
[subject_checked] => 0
[teacher_cs_id] =>
)
[1] => Array
(
[cs_map_id] => 68
[subject_name] => 11 Engllish
[subject_checked] => 0
[teacher_cs_id] =>
)
)
)
[9] => Array
(
[class_id] => 9
[class_name] => IX
[class_checked] => 0
[class_subjects] => Array
(
[0] => Array
(
[cs_map_id] => 87
[subject_name] => Mathematics
[subject_checked] => 0
[teacher_cs_id] =>
)
[1] => Array
(
[cs_map_id] => 88
[subject_name] => Hidi
[subject_checked] => 0
[teacher_cs_id] =>
)
[2] => Array
(
[cs_map_id] => 89
[subject_name] => 11 Science
[subject_checked] => 0
[teacher_cs_id] =>
)
)
)
)
现在我要访问键[cs_map_id]的价值和[subject_name]
每个元素的在聪明的模板。我尝试使用foreach,但无法获得密钥[cs_map_id]
和[subject_name]
的值。 任何人都可以帮助我如何访问smarty中foreach循环中的密钥[cs_map_id]
和[subject_name]
的值。本人在智者的模板写 代码如下:
<table>
<tr>
{assign var='i' value=0}
{if $cs_map_data}
{foreach from=$cs_map_data item="map_data"}
{if $i%4 == 0}</tr><tr>{/if}
<td align="left" valign="top" width="150">
<input type="checkbox" name="cs_map_id[]" id="{$map_data.cs_map_id}" value="{$map_data.cs_map_id}" onChange="get_test_by_category('{$map_data.cs_map_id}'); return false;" />
{$map_data.subject_name}
</td>
{assign var='i' value=$i+1}
{/foreach}
{else}
<td>
<i>No Subject is assigned to the class.</i>
</td>
{/if}
</tr>
</table>
任何一个可以帮助我如何在forech在智者模板中使用两个关键的价值观? 在此先感谢。
你在使用Smarty 2还是3? – eidsonator 2013-05-07 14:23:59
@eidsonator Smarty 2 – PHPLover 2013-05-07 14:27:24
啊,这就是我从你的foreach语法中想到的。我对3更加熟悉......并且在2和3之间的这个区域有一些大的变化。但是我认为你想用一个{SECTION}而不是一个foreach,并且你必须将它们嵌套到遍历“内部”数组。 – eidsonator 2013-05-07 14:31:32