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 xml文件操作代码(一)
Mar 20 PHP
php算开始时间到过期时间的相隔的天数
Jan 12 PHP
PHP array_multisort()函数的使用札记
Jul 03 PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
Jul 04 PHP
用PHP实现Ftp用户的在线管理
Feb 16 PHP
php 模拟get_headers函数的代码示例
Apr 27 PHP
PHP实现单例模式最安全的做法
Jun 13 PHP
VB中的RasEnumConnections函数返回632错误解决方法
Jul 29 PHP
PHP Curl模拟登录微信公众平台、新浪微博实例代码
Jan 28 PHP
基于 Swoole 的微信扫码登录功能实现代码
Jan 15 PHP
tp5.1 框架查询表达式用法详解
May 25 PHP
一文搞懂php的垃圾回收机制
Jun 18 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
JS实现php的伪分页
2008/05/25 PHP
PHP HTML代码串 截取实现代码
2009/06/29 PHP
php addslashes和mysql_real_escape_string
2010/01/24 PHP
PHP 遍历文件实现代码
2011/05/04 PHP
PHP Static延迟静态绑定用法分析
2016/03/16 PHP
高亮显示web页表格行的javascript代码
2010/11/19 Javascript
javascript与webservice的通信实现代码
2010/12/25 Javascript
Js,alert出现乱码问题的解决方法
2013/06/19 Javascript
jquery中对于批量deferred的处理方法
2014/01/22 Javascript
页面按钮禁用与解除禁用的方法
2014/02/19 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
DOM基础教程之使用DOM控制表单
2015/01/20 Javascript
jquery中animate的stop()方法作用实例分析
2015/01/30 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
jQuery Easyui 验证两次密码输入是否相等
2016/05/13 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
2017/07/05 Javascript
element ui table 增加筛选的方法示例
2018/11/02 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
js实现录音上传功能
2019/11/22 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
2020/12/16 Javascript
Vue实现省市区三级联动
2020/12/27 Vue.js
python标准算法实现数组全排列的方法
2015/03/17 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
对Python强大的可变参数传递机制详解
2019/06/13 Python
Django框架自定义模型管理器与元选项用法分析
2019/07/22 Python
python实现超市商品销售管理系统
2019/10/25 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
2019/12/11 Python
Python Print实现在输出中插入变量的例子
2019/12/25 Python
使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例
2016/03/22 HTML / CSS
内部类的定义、种类以及优点
2013/10/16 面试题
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
个人简历求职信范文
2015/03/20 职场文书
解决Maven项目中 Invalid bound statement 无效的绑定问题
2021/06/15 Java/Android
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL