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优于Node.js的五大理由分享
Sep 15 PHP
php创建sprite
Feb 11 PHP
PHP中使用smarty生成静态文件的例子
Apr 24 PHP
php中Session的生成机制、回收机制和存储机制探究
Aug 19 PHP
destoon调用企业会员公司形象图片的实现方法
Aug 21 PHP
PHP中echo,print_r与var_dump区别分析
Sep 29 PHP
Yii入门教程之Yii安装及hello world
Nov 25 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
Apr 09 PHP
Json_encode防止汉字转义成unicode的方法
Feb 25 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
Mar 07 PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 PHP
php递归函数怎么用才有效
Feb 24 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
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
用php实现的下载css文件中的图片的代码
2010/02/08 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
2013/06/18 PHP
8个PHP程序员常用的功能汇总
2014/12/18 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
2017/09/30 PHP
PHP curl批处理及多请求并发实现方法分析
2018/08/15 PHP
CLASS_CONFUSION JS混淆 全源码
2007/12/12 Javascript
JS中把字符转成ASCII值的函数示例代码
2013/11/21 Javascript
javascript中使用正则计算中文长度的例子
2014/04/29 Javascript
JavaScript中如何通过arguments对象实现对象的重载
2014/05/12 Javascript
Jquery之Bind方法参数传递与接收的三种方法
2014/06/24 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
jQuery实现复选框的全选和反选
2017/02/02 Javascript
vue router路由嵌套不显示问题的解决方法
2017/06/17 Javascript
JavaScript在控件上添加倒计时功能的实现代码
2017/07/04 Javascript
基于javaScript的this指向总结
2017/07/22 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
2017/07/31 Javascript
vue打包后显示空白正确处理方法
2017/11/01 Javascript
iview同时验证多个表单问题总结
2018/09/29 Javascript
[03:48]大碗DOTA
2019/07/25 DOTA
[54:43]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第一场 2月22日
2021/03/11 DOTA
python矩阵转换为一维数组的实例
2018/06/05 Python
Python3匿名函数用法示例
2018/07/25 Python
pytorch 模型可视化的例子
2019/08/17 Python
python读文件的步骤
2019/10/08 Python
pytorch实现用CNN和LSTM对文本进行分类方式
2020/01/08 Python
CSS3 文字动画效果
2020/11/12 HTML / CSS
localStorage 设置过期时间的方法实现
2018/12/21 HTML / CSS
伦敦眼门票在线预订:London Eye
2018/05/31 全球购物
自我鉴定200字
2013/10/28 职场文书
门卫岗位安全职责
2013/12/13 职场文书
《会变的花树叶》教学反思
2014/02/10 职场文书
小学校本培训方案
2014/06/06 职场文书
基层干部个人对照检查及整改措施
2014/10/28 职场文书
党员个人总结自评
2015/02/14 职场文书
springboot新建项目pom.xml文件第一行报错的解决
2022/01/18 Java/Android