我想在smarty模板中打印以下名为$all_class_subjects数组:

Array
(
[4] => Array
        (
            [class_id] => 5
            [class_name] => V
            [class_order] => 0
            [class_subject_assign] => 0
            [class_added_date] => 1365837028
            [class_updated_date] => 1365837028
            [class_added_staff_id] => ff8d4a5ea6bf11dce105aa2fa7b959b8
            [class_updated_staff_id] => ff8d4a5ea6bf11dce105aa2fa7b959b8
            [sub_data] => Array
                (
                    [0] => Chemistry
                    [1] => Mathematics
                )

        )
)

我正在尝试打印数组的代码(不是所有元素只有class_name,主题名称存在于sub_data数组中):

{if $all_class_subjects}
         {foreach from=$all_class_subjects item=class_subject_data}
       <tr>
           <td width="20%">{$class_subject_data.class_name|capitalize}</td>
           <td width="40%">
            {foreach from=class_subject_data.sub_data item=subject key=subject_name}

            <b>{$subject.subject_name}</b>
              <br />
            {/foreach}

         {/foreach}     h

           </td>
</tr>

但是我无法打印sub_data数组的主题名称。 所以请告诉我们如何打印这些主题名称。 请帮我打印那些主题名称,以及我自己管理的其他内容。 提前致谢。

===============>>#1 票数:2 已采纳

您可能有语法错误

{foreach from=class_subject_data.sub_data item=subject key=subject_name}

应该是(在$似乎缺少class_subject_data.sub_data):

{foreach from=$class_subject_data.sub_data item=subject key=subject_name}

如果在foreach循环中失败,请使用{$subject|@print_r}来查看是否有任何数据。 在循环之前,查看您是否在多维数组中获取任何数据{$class_subject_data.sub_data|@print_r}

当您调试它并且一切看起来都有效时,要打印值,请使用以下命令。 from是数据数组, item是数组的valuekey是数组的键。 希望这可以帮助!

{foreach from=$class_subject_data.sub_data item=subject_name key=subject_key}
    The subject is: {$subject_name} and the Key is {$subject_key}

smarty中的变量由{$variable_name}定义。 有关详细信息,请参阅文档

  ask by PHPLover translate from so

未解决问题?本站智能推荐: