foreach的用法
案例1:The item
attribute
<?php $arr = array(1000, 1001, 1002); $smarty->assign(\'myArray\', $arr); ?>
Template to output $myArray
in an un-ordered list
<ul> {foreach from=$myArray item=foo} <li>{$foo}</li> {/foreach} </ul>
The above example will output:
<ul> <li>1000</li> <li>1001</li> <li>1002</li> </ul>
案例2:Demonstrates the item
and key
attributes
<?php $arr = array(9 => \'Tennis\', 3 => \'Swimming\', 8 => \'Coding\'); $smarty->assign(\'myArray\', $arr); ?>
Template to output $myArray
as key/val pair, like PHP\’s foreach
.
<ul> {foreach from=$myArray key=k item=v} <li>{$k}: {$v}</li> {/foreach} </ul>
The above example will output:
<ul> <li>9: Tennis</li> <li>3: Swimming</li> <li>8: Coding</li> </ul>
案例3:{foreach} with associative item
attribute
<?php $items_list = array(23 => array(\'no\' => 2456, \'label\' => \'Salad\'), 96 => array(\'no\' => 4889, \'label\' => \'Cream\') ); $smarty->assign(\'items\', $items_list); ?>
Template to output $items
with $myId
in the url
<ul> {foreach from=$items key=myId item=i} <li><a href="item.php?id={$myId}">{$i.no}: {$i.label}</li> {/foreach} </ul>
The above example will output:
<ul> <li><a href="item.php?id=23">2456: Salad</li> <li><a href="item.php?id=96">4889: Cream</li> </ul>
案例4: {foreach} with nested item
and key
<?php $smarty->assign(\'contacts\', array( array(\'phone\' => \'1\', \'fax\' => \'2\', \'cell\' => \'3\'), array(\'phone\' => \'555-4444\', \'fax\' => \'555-3333\', \'cell\' => \'760-1234\') )); ?>
The template to output $contact
.
{foreach name=outer item=contact from=$contacts} <hr /> {foreach key=key item=item from=$contact} {$key}: {$item}<br /> {/foreach} {/foreach}
The above example will output:
<hr /> phone: 1<br /> fax: 2<br /> cell: 3<br /> <hr /> phone: 555-4444<br /> fax: 555-3333<br /> cell: 760-1234<br />
小结:
记住常用方法,并能灵活运动,举一反三。
没必要所有的都会使用,会使用常用的就可以了。