一、item属性用法

<?php
$arr = array(, , );
$smarty->assign('testarrg', $arr);
?> 用Smarty中的foreach方法来遍历并输出这个数组 <dl>
<dt>foreach中item属性用法</dt>
{foreach from=$testarrg item=test}
<dd>{$test}</dd>
{/foreach}
</dl> 通过上面的将输出: <dl>
<dt>foreach中item属性用法</dt>
<dl></dl>
<dl></dl>
<dl></dl>
</dl>
二、关于item和key属性的演示 <?php
$arr = array( => 'test1', => 'test2', => 'test3');
$smarty->assign('testarray', $arr);
?> 上面的实例是按照数组的键/值对形式的 用模板按键名/键值对的形式输出$testarray, 类似于PHP的foreach。 <dl>
<dt>foreach中item和key属性用法</dt>
{foreach from=$testarray key=key item=value}
<dd>{$key}: {$value}</dd>
{/foreach}
</dl> 上面的例子中将输出: <dl>
<dt>foreach中item和key属性用法</dt>
<dd>: test1</dd>
<dd>: test1</dd>
<dd>: test2</dd>
</dl>
三、关于{foreach}中的item属性是关联数组的演示案例 <?php
$test_list=array(=>array('a'=>, 'b'=>'testok'),
=>array('a'=>, 'b'=>'oktest'));
$smarty->assign('arr_item', $test_list);
?>
在TPL模板中写入foreach循环的方法
<ul>
{foreach from=$test_list key="key" item="val"}
<li>{$val.a}: {$val.b}</li>
{/foreach}
</ul>
上例将输出: <ul>
<li>: testok</li>
<li>: oktest</li>
</ul>
四、{foreach}使用嵌套的item和key Assign an array to Smarty, the key contains the key for each looped value. 向Smarty设置一个数组,对于每个键名对应的每个循环值都包括键。
<?php
$_arrg=array(array('photo'=>, 'phfax'=>, 'phcell'=>),
array('phone'=>'Hello', 'fax'=>'Word', 'cell'=>'Hess'));
$smarty->assign('arrg', $_arrg);
?> 用foreach向输模板中输出 {foreach name="outgow" item="ct" from=$arrg}
<hr />
{foreach key="keys" item="ims" from=$arrg}
{$keys}: {$ims}<br />
{/foreach}
{/foreach} 上例将输出: <hr />
photo: <br />
phfax: <br />
phcell: <br />
<hr />
phone: Hello<br />
fax: Word<br />
cell: Hess<br />
五、关于foreach的属性index的用法 {* 三行就输出一次头部 *}
<table width="" boder="">
{foreach from=$items key=myId item="is" name="fot"}
{if $smarty.foreach.fot.index % == } //除3余数0
<tr><th>文章标题</th></tr>
{/if}
<tr><td>{$is.label}</td></tr>
{/foreach}
</table>
六、关于foreach的属性iteration的用法 iteration显示当前循环次数,它和index属性不同,它是每次从1开始,每次循环增长1。 www.it165.net {foreach from=$myArray item=i name=foo}
{$smarty.foreach.foo.index}|{$smarty.foreach.foo.iteration},
{/foreach}
七、关于foreach的属性first的用法 first属性在foreach循环第一次执行时返回真 {* 对于第一个条目显示LATEST而不是id *}
<table>
{foreach from=$items key=myId item=i name=foo}
<tr>
<td>{if $smarty.foreach.foo.first}LATEST{else}{$myId}{/if}</td>
<td>{$i.label}</td>
</tr>
{/foreach}
</table>
八、关于foreach的属性last的用法 lase属性在foreach循环最后一次执行时返回真 {* 在列表结束时增加一个水平标记 *})
{foreach from=$items key=part_id item=prod name=products}
<a href="#{$part_id}">{$prod}</a>{if $smarty.foreach.products.last}<hr>{else},{/if}
{foreachelse}
... content ...
{/foreach}
九、关于foreach的属性show的用法 show属性返回的是一个布尔值,当它为真(ture)的时候,该循环就显示,它不为假(false)的时候该循环就不显示。

Smarty模板技术之foreach遍历数组实例全面讲解的更多相关文章

  1. forEach遍历数组实例

    forEach()取出数组中2的倍数和3的倍数的数 //for IE if(!Array.prototype.forEach){ Array.prototype.forEach = function( ...

  2. smarty详细使用教程(韩顺平smarty模板技术笔记)

    MVC是一种开发模式,强调数据的输入.处理.显示是强制分离的 Smarty使用教程1.如何配置我们的smarty解压后把libs文件夹放在网站第一级目录下,然后创建两个文件夹templates 存放模 ...

  3. Smarty模板技术学习

    模板引擎技术:使得php代码和html代码分离的技术就称为"模板引擎技术" 自定义smarty模板技术实现 <?php //迷你smarty原理 class MiniSmar ...

  4. forEach遍历数组对象且去重

    forEach遍历数组对象 var obj1 = [{ key: '01', value: '哈哈' }, { key: '02', value: '旺旺' }, { key: '03', value ...

  5. Smarty模板技术学习(二)

    本文主要包括以下内容 公共文件引入与继承 内容捕捉 变量调剂器 缓存 Smarty过滤器 数据对象.注册对象 与已有项目结合 公共文件引入与继承 可以把许多模板页面都用到的公共页面放到单独文件里边,通 ...

  6. smarty模板技术

    一.什么是smarty?smarty是一个使用php写出来的模板php模板引擎,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用php程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美 ...

  7. foreach遍历数组、数组的转置与方阵的迹

    public class Copy1 { public static void main(String[] args) { array1(); //如果不初始化元素,默认为0 int [][] a = ...

  8. 用数组指针遍历数组,FOR/FOREACH遍历数组

    1. 用数组指针遍历一维数组 <?php header("Content-type:text/html;charset=utf-8"); /*用数组指针遍历一位数组的值*/ ...

  9. 四,Smarty模板技术/引擎-----内建函数

    内建函数是smarty提供的函数,不允许修改,只能被调用: 自定义函数是自己编写函数,注册成为smarty的函数,之后可以被调用. PHP的自建函数很多,讲解下<foreach>和< ...

随机推荐

  1. 08SpringMvc_(1)继承AbstractCommandController的Action[能够以实体的形式,收集客户端参数].(2)日期转换器和编码过滤器

    上一篇文章说过要介绍两个控制器.这篇文章就介绍第二个控制器AbstractCommandController(这个类已经快要被废弃了,有更好的代替者,但还是要好好学这个类).这个控制器的额作用是为了收 ...

  2. 继续Wcf记录点滴

    之前说wcf以tcp协议作为通信方式的话会出现很多奇怪的bug,今天我把自己遇到的比较特殊的一个exception和解决方案列出来.主要是自己记录一下,顺便方便遇到这个问题的有缘人吧!废话不多说直接上 ...

  3. Linux ssh登录和软件安装详解

    阿哲Style   Linux第一天 ssh登录和软件安装详解 Linux学习第一天 操作环境: Ubuntu 16.04 Win10系统,使用putty_V0.63 本身学习Linux就是想在服务器 ...

  4. 实现chrome扩展启动本地进程 - 补充

    实现chrome扩展启动本地进程 - 补充 标签: chrome扩展启动本地程序访问本地磁盘 2014-10-17 11:42 6753人阅读 评论(17) 收藏 举报  分类: Chrome Plu ...

  5. ios 解析html

    xml,json都有大量的库来解析,我们如何解析html呢? TFHpple是一个小型的封装,可以用来解析html,它是对libxml的封装,语法是xpath.今天我看到一个直接用libxml来解析h ...

  6. mac使用笔记

    1.QQ多开 MAC中登录QQ后按CMD+N组合按键即可新打开一个QQ登录窗口 2.关闭左右摇晃鼠标放大 系统偏好设置>辅助功能>显示器,去掉“摇动鼠标以定位”前面的勾即可 3.使用ctr ...

  7. [bzoj 1026]windy数(数位DP)

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1026 分析: 简单的数位DP啦 f[i][j]表示数字有i位,最高位的数值为j的windy数总 ...

  8. groovyConsole — the Groovy Swing console

    1. Groovy : Groovy Console The Groovy Swing Console allows a user to enter and run Groovy scripts. T ...

  9. Unknown column '' in 'field list'解决方案

    很多人在用php+MySQL做网站往数据库插入数据时发现如下错误: 注册失败!Unknown column '1a' in 'field list' 结果发现用数字提交是没有问题的,其他如char型就 ...

  10. grid-css

    .fil-container { width: 100%; max-width: 75rem; margin-right: auto; margin-left: auto; padding-left: ...