multi-dimensional iteration in Smarty
Posted: Thu Aug 03, 2006 11:43 pm
Is it possible to iterate through an array that is three or more levels deep with smarty? If so... how? My brain just isn't working real well tonight. 
A community of PHP developers offering assistance, advice, discussion, and friendship.
http://forums.devnetwork.net/
Code: Select all
{section name=i loop=$array}
<p>{$array[i].val1} {$array[i].val2}</p>
{/section}Code: Select all
{section name=i loop=$array}
{section name=j loop=$array[i]}
<p>{$array[i][j].val}</p>
{/section}
{/section}
Code: Select all
Array
(
[title] => Array
(
[0] => Must be between 1 and 100 characters in length.
[1] => Must contain only letters.
)
[body] => Array
(
[0] => Must be between 1 and 5000 characters in length.
[1] => Must contain the word "Chicken".
)
)Code: Select all
<p>{$title.body.0}</p>Code: Select all
{foreach name=outer from=$form_errors item=errors}
{foreach from=$errors.body item=error}
<tr>
<td colspan="2" class="error">{$error}</td>
</tr>
{/foreach}
{/foreach}Code: Select all
{foreach name=outer from=$form_errors item=errors}
{foreach from=$errors item=error}
<tr>
<td colspan="2" class="error">{$error}</td>
</tr>
{/foreach}
{/foreach}Code: Select all
arraykey1.arraykey2Code: Select all
$arraykey1['arraykey2']Code: Select all
{foreach name=outer from=$form_errors.body item=errors}
{foreach from=$errors item=error}
<tr>
<td colspan="2" class="error">{$error}</td>
</tr>
{/foreach}
{/foreach}Code: Select all
{ $myvar.$element.$element2 }
{ $myvar[$element][$element2] }
{ $myvar.element.element2 }Code: Select all
{ $myvar[element][element2] }
{ $myvar['element']['element2'] }