smarty模板引擎之内建函数用法


Posted in PHP onMarch 30, 2015

本文实例讲述了smarty内建函数的使用方法。分享给大家供大家参考。具体如下:

in-build(内建),在smarty模板中,提供了很多内建的函数库,具体使用可以参考smarty中文手册chm版本。

1.foreach函数

操作数组如下:

//索引数组 
$res=array('上海','北京','深圳');
$smarty->assign("arr",$res);
//关联数组 
$res2=array('city1'=>'北京','city2'=>'广州','city3'=>'湖南');
$smarty->assign("arr2",$res2);
//索引二维数组 
$res3 = array( 
  array('潇晓','常山','吴蓓'),array('珊珊','常明') 
);
$smarty->assign("arr3",$res3);
//关联二维数组 
$res4 = array( 
  array('id'=>'001','name'=>'张三','email'=>'zhangsan@1163.com'), 
  array('url'=>'http://www.baidu.com','age'=>'28') 
);
$smarty->assign("arr4",$res4);
//关联二维数组2 
$res5=array( 
  'emp1'=>array('id'=>'001','name'=>'张三','email'=>'zhangsan@1163.com'), 
  'emp2'=>array('url'=>'http://www.baidu.com','age'=>'28') 
); 
$smarty->assign("arr5",$res5);

遍历数组:

其中from、item、key是固定写法,key可以根据需求加

一维数组

索引数组:

<br/> 
<{foreach from=$arr item=temp}>
  <{$temp}> <t/> 
<{/foreach}> 
<br/>关联数组:<br/> 
<{foreach from=$arr2 item=temp key=k}>
  <{$k}>=<{$temp}><t/>
<{/foreach}> 
<br/>

备注:from、item、key是固定的 
二维数组

<br/>二维索引数组:<br/> 
<{foreach from=$arr3 item=temp key=k}>
  <{*这里的temp是一个数组*}> 
  <{foreach from=$temp item=val}> 
    <{$val}> 
  <{/foreach}> 
<{/foreach}> 
<br/>二维关联数组格式1:<br/> 
<{foreach from=$arr4 item=temp}> 
  <{*外层的键不需要,所以不添加key*}> 
  <{foreach from=$temp item=val key=k}>
    <{*内层的键需要,添加key*}> 
    <{$k}>=<{$val}> 
  <{/foreach}> 
<{/foreach}> 
<br/>二维关联数组格式2:<br/> 
<{foreach from=$arr5 item=temp key=k}>
  <{$k}>: 
  <{foreach from=$temp item=val key=k2}>
    <{$k2}>=<{$val }>
  <{/foreach}> 
  <br/> 
<{/foreach}>

2.if...else...

<{if $age>10 }> 
  年龄大于10,年龄为:<{$age}> 
  <{else}> 
  年龄小于10,年龄为:<{$age}> 
<{/if}>

3.if...elseif...elseif...else...

已知数据源如下:

$res4 = array( 
  array('id'=>'001','age'=>'4'), 
  array('id'=>'002','age'=>'16'), 
  array('id'=>'003','age'=>'20'), 
  array('id'=>'004','age'=>'80') 
);

模板中引用如下:

<{foreach from=$arr4 item=temp }>
  <{if $temp.age < 5}>
    <{$temp.id}>,你是小孩
  <{elseif $temp.age >=5 and $temp.age <= 18}>
    <{$temp.id}>,你是年轻人
  <{elseif $temp.age > 18 and $temp.age <= 50}>
    <{$temp.id}>,你是成年人
  <{else}>
    <{$temp.id}>,年龄<span style="font-family:Consolas;">比较大了</span>
  <{/if}>
<{/foreach}

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
PHP简单系统数据添加以及数据删除模块源文件下载
Jun 07 PHP
php UTF-8、Unicode和BOM问题
May 18 PHP
PHP常用技术文之文件操作和目录操作总结
Sep 27 PHP
php防止站外远程提交表单的方法
Oct 20 PHP
php编写的一个E-mail验证类
Mar 25 PHP
[原创]PHP简单开启curl的方法(测试可行)
Jan 11 PHP
thinkPHP自定义类实现方法详解
Nov 30 PHP
PHP将身份证正反面两张照片合成一张图片的代码
Apr 08 PHP
PHP让数组中有相同值的组成新的数组实例
Dec 31 PHP
PHP isset()及empty()用法区别详解
Aug 29 PHP
如何在PHP中读写文件
Sep 07 PHP
PHP基于ip2long实现IP转换整形
Dec 11 PHP
PHP中实现Bloom Filter算法
Mar 30 #PHP
smarty模板引擎之配置文件数据和保留数据
Mar 30 #PHP
PHP中使用BigMap实例
Mar 30 #PHP
PHP中使用Memache作为进程锁的操作类分享
Mar 30 #PHP
php中判断数组相等的方法以及数组运算符介绍
Mar 30 #PHP
smarty模板引擎之分配数据类型
Mar 30 #PHP
php生成不重复随机数、数组的4种方法分享
Mar 30 #PHP
You might like
php中文字符串截取方法实例总结
2014/09/30 PHP
js 页面输出值
2008/11/30 Javascript
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
基于jquery的回到页面顶部按钮
2011/06/27 Javascript
js 浏览器事件介绍
2012/03/30 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
js实现在同一窗口浏览图片
2014/09/17 Javascript
javascript的正则匹配方法学习
2016/02/24 Javascript
jQuery链式调用与show知识浅析
2016/05/11 Javascript
jQuery简单入门示例之用户校验demo示例
2016/07/09 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
2016/07/12 Javascript
浅析JS中回调函数及用法
2018/07/25 Javascript
解决vue跨域axios异步通信问题
2019/04/17 Javascript
three.js利用卷积法如何实现物体描边效果
2019/11/27 Javascript
Python 中迭代器与生成器实例详解
2017/03/29 Python
Python使用pickle模块存储数据报错解决示例代码
2018/01/26 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
Python第三方库h5py_读取mat文件并显示值的方法
2019/02/08 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
python自动循环定时开关机(非重启)测试
2019/08/26 Python
如何基于python操作excel并获取内容
2019/12/24 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
2020/01/20 Python
Python多线程的退出控制实现
2020/08/10 Python
CSS3中:nth-child和:nth-of-type的区别深入理解
2014/03/10 HTML / CSS
HTML5中的新元素介绍
2008/10/17 HTML / CSS
科颜氏香港官方网店:Kiehl’s香港
2021/03/07 全球购物
优秀大学生推荐信范文
2013/11/28 职场文书
团组织关系介绍信
2014/01/12 职场文书
超市5.1促销活动
2014/01/15 职场文书
旅游网创业计划书
2014/01/31 职场文书
《动手做做看》教学反思
2014/04/09 职场文书
民主评议党员自我评价材料
2014/09/18 职场文书
JavaScript+HTML实现学生信息管理系统
2021/04/20 Javascript
MIME类型中application/xml与text/xml的区别介绍
2022/01/18 HTML / CSS
python超详细实现完整学生成绩管理系统
2022/03/17 Python
Redis+AOP+自定义注解实现限流
2022/06/28 Redis