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动态变静态原理
Nov 25 PHP
php桌面中心(三) 修改数据库
Mar 11 PHP
php zend解密软件绿色版测试可用
Apr 14 PHP
PHP教程之PHP中shell脚本的使用方法分享
Feb 23 PHP
php中常用的预定义变量小结
May 09 PHP
php去除字符串换行符示例分享
Feb 13 PHP
PHP字符串逆序排列实现方法小结【strrev函数,二分法,循环法,递归法】
Jan 13 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 PHP
PHP函数按引用传递参数及函数可选参数用法示例
Jun 04 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
thinkphp5实现无限级分类
Feb 18 PHP
windows系统php环境安装swoole具体步骤
Mar 04 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学习教程之第1天
2008/06/15 PHP
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
PHP Session 变量的使用方法详解与实例代码
2013/09/11 PHP
使用php的HTTP请求的库Requests实现美女图片墙
2015/02/22 PHP
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
2016/01/12 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
2016/03/11 PHP
PHP Cookie学习笔记
2016/08/23 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
PHP获取远程http或ftp文件的md5值的方法
2019/04/15 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
2019/10/15 PHP
基于Unit PNG Fix.js有时候在ie6下不正常的解决办法
2013/06/26 Javascript
js的onload事件及初始化按钮事件示例代码
2013/09/25 Javascript
解决json日期格式问题的3种方法
2014/02/02 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
原生JS取代一些JQuery方法的简单实现
2016/09/20 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
2016/12/20 Javascript
微信小程序开发之Tabbar实例详解
2017/01/09 Javascript
Angular实现点击按钮后在上方显示输入内容的方法
2017/12/27 Javascript
JavaScript中工厂函数与构造函数示例详解
2019/05/06 Javascript
vue实现百度语音合成的实例讲解
2019/10/14 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
使用Python脚本生成随机IP的简单方法
2015/07/30 Python
Python探索之静态方法和类方法的区别详解
2017/10/27 Python
pycharm重命名文件的方法步骤
2019/07/29 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
python 利用panda 实现列联表(交叉表)
2021/02/06 Python
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
2018/01/08 HTML / CSS
英国最大的线上保健品零售商之一:Vitamin Planet
2016/12/01 全球购物
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
八一建军节活动方案
2014/02/10 职场文书
《将心比心》教学反思
2014/04/08 职场文书
刑事代理授权委托书
2014/09/17 职场文书
2014年营销工作总结
2014/11/22 职场文书
幼儿园亲子活动通知
2015/04/24 职场文书
java设计模式--原型模式详解
2021/07/21 Java/Android
浅谈css清除浮动(clearfix和clear)的用法
2023/05/21 HTML / CSS