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 相关文章推荐
第十节--抽象方法和抽象类
Nov 16 PHP
Mysql的GROUP_CONCAT()函数使用方法
Mar 28 PHP
PHP中source #N问题的解决方法
Jan 27 PHP
php递归使用示例(php递归函数)
Feb 14 PHP
php计算到指定日期还有多少天的方法
Apr 14 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
Mar 21 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
Apr 30 PHP
php执行多个存储过程的方法【基于thinkPHP】
Nov 08 PHP
php die()与exit()的区别实例详解
Dec 03 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
Sep 27 PHP
详解php用static方法的原因
Sep 12 PHP
PHP设计模式(一)工厂模式Factory实例详解【创建型】
May 02 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中的字符串函数
2006/10/09 PHP
php登录超时检测功能实例详解
2017/03/21 PHP
PHP性能测试工具xhprof安装与使用方法详解
2018/04/29 PHP
PHP获取当前时间不准确问题解决方案
2020/08/14 PHP
基于JQuery的列表拖动排序实现代码
2013/10/01 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
2013/11/04 Javascript
动态载入js提高网页打开速度的方法
2014/07/04 Javascript
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
jquery背景跟随鼠标滑动导航
2015/11/20 Javascript
jquery实现左右无缝轮播图
2020/07/31 Javascript
JavaScript实现九九乘法表的简单实例
2016/06/07 Javascript
JavaScript程序中实现继承特性的方式总结
2016/06/24 Javascript
JS实现title标题栏文字不间断滚动显示效果
2016/09/07 Javascript
canvas绘制多边形
2017/02/24 Javascript
Bootstrap免费字体和图标网站(值得收藏)
2017/03/16 Javascript
详解处理Vue单页面应用SEO的另一种思路
2018/11/09 Javascript
Vue.js子组件向父组件通信的方法实例代码详解
2018/12/10 Javascript
JS Math对象与Math方法实例小结
2019/07/05 Javascript
你知道JavaScript Symbol类型怎么用吗
2020/01/08 Javascript
js实现类选择器和name属性选择器的示例步骤
2021/02/07 Javascript
Python Web框架Flask中使用百度云存储BCS实例
2015/02/08 Python
python中异常捕获方法详解
2017/03/03 Python
详解Python pygame安装过程笔记
2017/06/05 Python
Python中super函数的用法
2017/11/17 Python
python3实现字符串的全排列的方法(无重复字符)
2018/07/07 Python
详解Python给照片换底色(蓝底换红底)
2019/03/22 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
IFCHIC台湾:欧美国际设计师品牌
2019/05/18 全球购物
什么是smarty? Smarty的优点是什么?
2013/08/11 面试题
纺织工程专业个人求职信范文
2014/01/27 职场文书
理工大学毕业生自荐信范文
2014/02/22 职场文书
团代会主持词
2014/04/02 职场文书
《天游峰的扫路人》教学反思
2014/04/25 职场文书
党员先进性教育整改措施
2014/09/18 职场文书
2015年班主任德育工作总结
2015/05/21 职场文书
银行服务理念口号
2015/12/25 职场文书