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 相关文章推荐
用session做客户验证时的注意事项
Oct 09 PHP
php 截取字符串并以零补齐str_pad() 函数
May 07 PHP
php继承的一个应用
Sep 06 PHP
用php实现选择排序的解决方法
May 04 PHP
destoon各类调用汇总
Jun 20 PHP
php中有关合并某一字段键值相同的数组合并的改进
Mar 10 PHP
CodeIgniter配置之SESSION用法实例分析
Jan 19 PHP
实现PHP框架系列文章(6)mysql数据库方法
Mar 04 PHP
Laravel中注册Facades的步骤详解
Mar 16 PHP
php 开发中加密的几种方法总结
Mar 22 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
Jun 15 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
Nov 16 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 Session及如何保持其不过期的方法
2015/08/18 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
2020/07/13 PHP
jquery时间下拉框小例子
2013/04/15 Javascript
jQuery ReferenceError: $ is not defined 错误的处理办法
2013/05/10 Javascript
jquery及原生js获取select下拉框选中的值示例
2013/10/25 Javascript
javascript 中that的含义示例介绍
2014/05/14 Javascript
JS运动基础框架实例分析
2015/03/03 Javascript
Javascript非构造函数的继承
2015/04/27 Javascript
JQuery中clone方法复制节点
2015/05/18 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
Vue.js实现移动端短信验证码功能
2017/03/29 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
vue.js使用3DES加密的方法示例
2018/05/18 Javascript
node全局变量__dirname与__filename的区别
2019/01/14 Javascript
AngularJS实现的自定义过滤器简单示例
2019/02/02 Javascript
微信小程序学习笔记之本地数据缓存功能详解
2019/03/29 Javascript
js实现随机8位验证码
2020/07/24 Javascript
JS实现容器模块左右拖动效果
2020/01/14 Javascript
vue 避免变量赋值后双向绑定的操作
2020/11/07 Javascript
python使用mailbox打印电子邮件的方法
2015/04/30 Python
Django日志模块logging的配置详解
2017/02/14 Python
Python实现简单的获取图片爬虫功能示例
2017/07/12 Python
python使用pil库实现图片合成实例代码
2018/01/20 Python
python的依赖管理的实现
2019/05/14 Python
python判断链表是否有环的实例代码
2020/01/31 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
2020/02/17 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
2020/02/26 Python
Big Green Smile德国网上商店:提供各种天然产品
2018/05/23 全球购物
如何清空Session
2015/02/23 面试题
我们的节日清明节活动总结
2014/04/30 职场文书
信用社主任竞聘演讲稿
2014/05/23 职场文书
司法局群众路线教育实践活动开展情况总结
2014/10/25 职场文书
求职信内容一般写什么?
2015/03/20 职场文书
PyQt5爬取12306车票信息程序的实现
2021/05/14 Python
JS封装cavans多种滤镜组件
2022/02/15 Javascript