PHP Smarty循环多维数组

3
我是你的助手,很高兴为您翻译。以下是您需要翻译的内容:

我正使用smarty为我的网站服务,我试图循环遍历一个数组来打印表格行...

这个数组看起来像这样:

Array
(
    [TM98800G] => Array
        (
            [zid] => Array
                (
                    [0] => 90001
                    [1] => 90002
                    [2] => 90003
                    [3] => 90004
                    [4] => 90005
                )

            [count] => Array
                (
                    [0] => 10
                    [1] => 10
                    [2] => 20
                    [3] => 25
                    [4] => 15
                )

        )
    [TM76654G] => Array
        (
            [zid] => Array
                (
                    [0] => 90301
                    [1] => 90302
                    [2] => 90303
                    [3] => 90304
                    [4] => 90305
                )

            [count] => Array
                (
                    [0] => 25
                    [1] => 25
                    [2] => 20
                    [3] => 35
                    [4] => 45
                )

        )
)

我正在尝试循环遍历它并打印出表格:
<h5>TM98800G </h5>

<table>
<tr>
  <td>90001</td>
  <td>10</td>
</tr>

<tr>
  <td>90002</td>
  <td>10</td>
</tr>

<tr>
  <td>90003</td>
  <td>20</td>
</tr>

<tr>
  <td>90004</td>
  <td>25</td>
</tr>

<tr>
  <td>90005</td>
  <td>15</td>
</tr>
</table>

<h5>TM76654G</h5>
<table>
<tr>
  <td>90301</td>
  <td>25</td>
</tr>

<tr>
  <td>90302</td>
  <td>25</td>
</tr>

<tr>
  <td>90303</td>
  <td>20</td>
</tr>

<tr>
  <td>90304</td>
  <td>35</td>
</tr>

<tr>
  <td>90305</td>
  <td>45</td>
</tr>
</table>

我尝试使用嵌套的foreach语句和片段来解决问题,但是我无法正确地循环遍历它...

1个回答

5
{foreach from=$array key=header item=table}
<h5>{$header}</h5>

<table>
    {foreach from=$table.zid key=k item=zid}
    <tr>
        <td>{$zid}</td>
        <td>{$table.count.$k}</td>
    </tr>
    {/foreach}
</table>
{/foreach}

我想应该可以做到。


很遗憾,我得到了这个错误信息:语法错误:无法识别的标签:$table.count[$k] - TwixxyKit
@Knock 你使用的是哪个版本的Smarty? - anomareh
@Knock 是的,我刚意识到。如果你在引号中嵌入一个变量,那么只需要使用反引号。没问题。 - anomareh
请注意,如果您使用的是Smarty3,则可以简单地使用{foreach $array as $table} - Andrew Moore

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接