php smarty loop multidimensional array
14,252
{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}
Should do it I think.
Author by
TwixxyKit
Updated on June 29, 2022Comments
-
TwixxyKit almost 2 years
I'm using smarty for my site, and I'm trying to loop through an array to print out table rows...
The array looks like this:
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 ) ) )
I'm trying to loop through this and print out tables:
<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>
I tried nested foreach statements and played with sections, but I can't figure out how to loop through it correctly...
-
TwixxyKit about 14 yearsSadly, no... I get this: syntax error: unrecognized tag: $table.count[
$k
] -
anomareh about 14 years@Knock What version of Smarty are you using?
-
anomareh about 14 years@Knock yeah just realized. Forgot you only need the backticks if you're embedding a var in quotes. No prob.
-
Andrew Moore about 14 yearsNote that if you are using Smarty3, you can simply use
{foreach $array as $table}