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相当简单的分页类
Oct 02 PHP
php 页面执行时间计算代码
Dec 04 PHP
phpmyadmin config.inc.php配置示例
Aug 27 PHP
在Yii框架中使用PHP模板引擎Twig的例子
Jun 13 PHP
php格式化金额函数分享
Feb 02 PHP
PHP 使用memcached简单示例分享
Mar 05 PHP
phpMyAdmin安装并配置允许空密码登录
Jul 04 PHP
php读取torrent种子文件内容的方法(测试可用)
May 03 PHP
PHP注释语法规范与命名规范详解篇
Jan 21 PHP
Yii框架的路由配置方法分析
Sep 09 PHP
分享8个Laravel模型时间戳使用技巧小结
Feb 12 PHP
如何在PHP中使用AES加密算法加密数据
Jun 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
第七节--类的静态成员
2006/11/16 PHP
php中拷贝构造函数、赋值运算符重载
2012/07/25 PHP
PHP判断是否连接上网络的方法
2015/07/01 PHP
Symfony2学习笔记之插件格式分析
2016/03/17 PHP
php基于PDO连接MSSQL示例DEMO
2016/07/13 PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
2018/04/09 PHP
Javascript注入技巧
2007/06/22 Javascript
JavaScript 面向对象编程(2) 定义类
2010/05/18 Javascript
Jquery replace 字符替换实现代码
2010/12/02 Javascript
Javascript 闭包引起的IE内存泄露分析
2012/05/23 Javascript
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
2012/12/16 Javascript
JS 实现点击a标签的时候让其背景更换
2013/10/15 Javascript
js中 javascript:void(0) 用法详解
2015/08/11 Javascript
纯css下拉菜单 无需js
2016/08/15 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
2018/09/14 Javascript
vue指令做滚动加载和监听等
2019/05/26 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
2019/10/12 jQuery
微信小程序如何实现在线客服功能
2019/10/16 Javascript
详解JavaScript修改注册表的方法
2020/01/05 Javascript
Python多线程学习资料
2012/12/19 Python
基于Python代码编辑器的选用(详解)
2017/09/13 Python
Python学习之Anaconda的使用与配置方法
2018/01/04 Python
python 用for循环实现1~n求和的实例
2019/02/01 Python
django基础学习之send_mail功能
2019/08/07 Python
Parfumdreams芬兰:购买香水和化妆品
2021/02/13 全球购物
学院书画协会部门职责
2013/11/28 职场文书
行政办公员自我评价分享
2013/12/14 职场文书
最热门的自我评价
2013/12/30 职场文书
挂职思想汇报
2013/12/31 职场文书
高一英语教学反思
2014/01/22 职场文书
公务员转正考察材料
2014/02/07 职场文书
八年级上册语文教学计划
2015/01/22 职场文书
MySQL 存储过程的优缺点分析
2021/05/20 MySQL
Apache Linkis 中间件架构及快速安装步骤
2022/03/16 Servers
Python实现批量自动整理文件
2022/03/16 Python