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 相关文章推荐
收集的DedeCMS一些使用经验
Mar 17 PHP
php代码把全角数字转为半角数字
Dec 10 PHP
php 动态添加记录
Mar 10 PHP
php 代码优化的42条建议 推荐
Sep 25 PHP
实用的简单PHP分页集合包括使用方法
Oct 21 PHP
json的键名为数字时的调用方式(示例代码)
Nov 15 PHP
Drupal7 form表单二次开发要点与实例
Mar 02 PHP
PHP遍历数组的三种方法及效率对比分析
Feb 12 PHP
php创建无限级树型菜单
Nov 05 PHP
Yii2超好用的日期和时间组件(值得收藏)
May 05 PHP
PHP面向对象程序设计组合模式与装饰模式详解
Dec 02 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
May 06 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+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
2013/06/21 PHP
IIS6.0中配置php服务全过程解析
2013/08/07 PHP
phpstrom使用xdebug配置方法
2013/12/17 PHP
PHP常用的三种设计模式汇总
2016/08/28 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
php实现mysql连接池效果实现代码
2018/01/25 PHP
php链式操作的实现方式分析
2019/08/12 PHP
jQuery的attr与prop使用介绍
2013/10/10 Javascript
jquery滚动条插件jScrollPane的使用介绍
2013/11/08 Javascript
zepto.js中tap事件阻止冒泡的实现方法
2015/02/12 Javascript
javascript DIV实现跟随鼠标移动
2020/03/19 Javascript
JavaScript实现斗地主游戏的思路
2016/02/29 Javascript
Vue.JS入门教程之自定义指令
2016/12/08 Javascript
webpack配置的最佳实践分享
2017/04/21 Javascript
Javascript实现的StopWatch功能示例
2017/06/13 Javascript
ajax+node+request爬取网络图片的实例(宅男福利)
2017/08/28 Javascript
JS实现元素上下左右移动效果
2017/10/18 Javascript
微信小程序websocket实现聊天功能
2020/03/30 Javascript
vue实现学生录入系统之添加删除功能
2018/07/11 Javascript
vue给对象动态添加属性和值的实例
2019/09/09 Javascript
python spyder中读取txt为图片的方法
2018/04/27 Python
使用Python AIML搭建聊天机器人的方法示例
2018/07/09 Python
实例教程 一款纯css3实现的数字统计游戏
2014/11/10 HTML / CSS
工程概预算专业毕业生求职信
2013/10/04 职场文书
爱岗敬业演讲稿
2014/05/05 职场文书
某某同志考察材料
2014/05/28 职场文书
暑期培训班策划方案
2014/08/26 职场文书
综治维稳工作承诺书
2014/08/30 职场文书
个人股份转让协议书范本
2014/10/26 职场文书
乌镇导游词
2015/02/02 职场文书
参加招聘会后的感想
2015/08/10 职场文书
小学音乐课教学反思
2016/02/18 职场文书
Python中glob库实现文件名的匹配
2021/06/18 Python
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技