The name of the variable that is the current
element
key
string
No
n/a
The name of the variable that is the current key
name
string
No
n/a
The name of the foreach loop for accessing
foreach properties
foreach loops are an alternative to
section loops. foreach is
used to loop over a single associative array. The syntax for
foreach is much easier than
section, but as a tradeoff it can only be used
for a single array. foreach tags must be
paired with /foreach tags. Required parameters
are from and item. The
name of the foreach loop can be anything you like, made up of
letters, numbers and underscores. foreach
loops can be nested, and the nested foreach names must be unique
from each other. The from variable (usually an
array of values) determines the number of times
foreach will loop.
foreachelse is executed when there are no
values in the from variable.
Example 7-4. foreach
{* this example will print out all the values of the $custid array *}
{foreach from=$custid item=curr_id}
id: {$curr_id}<br>
{/foreach}
OUTPUT:
id: 1000<br>
id: 1001<br>
id: 1002<br>
Example 7-5. foreach key
{* The key contains the key for each looped value
assignment looks like this:
$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"),
array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234")));
*}
{foreach name=outer item=contact from=$contacts}
{foreach key=key item=item from=$contact}
{$key}: {$item}<br>
{/foreach}
{/foreach}
OUTPUT:
phone: 1<br>
fax: 2<br>
cell: 3<br>
phone: 555-4444<br>
fax: 555-3333<br>
cell: 760-1234<br>