ThinkPHP自定义函数解决模板标签加减运算的方法

本文实例讲述了ThinkPHP自定义函数解决模板标签加减运算的方法。分享给大家供大家参考。具体如下:

实际项目中,我们经常需要标签变量加减运算的操作。但是,在ThinkPHP中,并不支持模板变量直接运算的操作。

幸运的是,它提供了自定义函数的方法,我们可以利用自定义函数解决:

ThinkPHP模板自定义函数语法如下:

格式:{:function(…)} (参考官方帮助文档:http://thinkphp.cn/Manual/196)
利用这个,我们来试做加法和减法。

一、在ThinkPHP中定义函数。在项目的common文件夹下新建common.php文件(这样系统会自动加载)。定义两个函数:

/**
 * 相加,供模板使用
 * @param <type> $a
 * @param <type> $b
 */
function template_add($a,$b){
  echo(intval($a)+intval($b));
}
/**
 * 相减,供模板使用
 * @param <type> $a
 * @param <type> $b
 */
function template_substract($a,$b){
  echo(intval($a)-intval($b));
}

二、在模板中使用函数:

代码如下:

{:template_add($var1,$var2)}

即可显出变量var1于var2的和。
需要注意的是:如果变量是数组,要这样显示:

代码如下:

{:template_add($var[var1],$var[var2])}

而不是我们通常是用点语法。

希望本文所述对大家基于ThinkPHP的php程序设计有所帮助。

时间: 2015-07-01

ThinkPHP中I(),U(),$this-&gt;post()等函数用法

本文实例讲述了ThinkPHP中I(),U(),$this->post()等函数的用法.分享给大家供大家参考.具体方法如下: 在ThinkPHP中在控制器中接受表单的数据可以使用如下方法: 1.$_POST[]/$_GET[],但是这个接受的表单内容不会通过htmlspecialchars();函数进行过滤.如果想使用这个接收数据,需要手动处理表单数据 2.可以用接收表单函数 复制代码 代码如下: $this->_post();$this->_get(); ,这个函数默认就会使用html

ThinkPHP中__initialize()和类的构造函数__construct()用法分析

本文实例分析了ThinkPHP中的__initialize()和类的构造函数__construct().分享给大家供大家参考.具体分析如下: thinkphp中的__construct是不可以随便用的,因为你的模块类继承上级类,上级类有定义好的; 1.__initialize()不是php类中的函数,php类的构造函数只有__construct(). 2.类的初始化:子类如果有自己的构造函数(__construct()),则调用自己的进行初始化,如果没有,则调用父类的构造函数进行自己的初始化.

ThinkPHP中公共函数路径和配置项路径的映射分析

本文实例分析了ThinkPHP中公共函数路径和配置项路径的映射.分享给大家供大家参考.具体分析如下: ThinkPHP中在使用公共函数时(单一入口文件对应独立的项目),在Common文件夹中可以写公共的函数文件,写成文件名为common.php的文件会被系统自动加载,如果写成其他的函数名,则不会自动加载,但是有两种处理机制 1.在使用的时候手动加载 load('@.function');这样就会手动加载这个文件.@代表是在这个项目下的Common文件夹下的. 2.在配置文件中配置 复制代码 代码

ThinkPHP单字母函数(快捷方法)使用总结

在ThinkPHP中有许多使用简便的单字母函数(即快捷方法),可以很方便开发者快速的调用,但是字母函数却不方便记忆,本文将所有的字母函数总结一下,以方便以后查找. 1.U() URL组装 支持不同URL模式 U($url='',$vars='',$suffix=true,$domain=false) @param string $url URL表达式,格式:'[模块/控制器/操作#锚点@域名]?参数1=值1&参数2=值2...'   @param string|array $vars 传入的参数

ThinkPHP模板之变量输出、自定义函数与判断语句用法

本文实例讲述了ThinkPHP模板之变量输出.自定义函数与判断语句用法.主要包括变量输出.自定义函数与判断语句三种用法.分享给大家供大家参考.具体分析如下: 模板操作变量输出: 快捷输出变量 复制代码 代码如下: {:function(-)} //执行方法并输出返回值 {~function} //执行方法不输出 {@var} //输出Session变量 {#var} //输出Cookie变量 {&var} //输出配置参数  {%var} //输出语言变量 {.var} //输出GET变量 {^

ThinkPHP开发框架函数详解:C方法

C方法是ThinkPHP用于设置.获取,以及保存配置参数的方法,使用频率较高. 了解C方法需要首先了解下ThinkPHP的配置,因为C方法的所有操作都是围绕配置相关的.ThinkPHP的配置文件采用PHP数组格式定义. 由于采用了函数重载设计,所以用法较多,我们来一一说明下. 设置参数 C('DB_NAME','thinkphp'); 表示设置DB_NAME配置参数的值为thinkphp,由于配置参数不区分大小写,所以下面的写法也是一样: C('db_name','thinkphp'); 但是建

thinkPHP模板中函数的使用方法示例

本文实例讲述了thinkPHP模板中函数的使用方法.分享给大家供大家参考,具体如下: 1.php中的方法使用 <?php $var_num = "13966778888"; $str = substr_replace($var_num,'*****',3,5); echo $str; $var_date = time(); $str = date("Y-m-d H:i",$var_date); echo $str; ?> 2.模板中的使用 {sh:$me

ThinkPHP函数详解之M方法和R方法

首先给大家介绍ThinkPHP函数详解:M方法 M方法用于实例化一个基础模型类,和D方法的区别在于: 1.不需要自定义模型类,减少IO加载,性能较好: 2.实例化后只能调用基础模型类(默认是Model类)中的方法: 3.可以在实例化的时候指定表前缀.数据库和数据库的连接信息: D方法的强大则体现在你封装的自定义模型类有多强,不过随着新版ThinkPHP框架的基础模型类的功能越来越强大,M方法也比D方法越来越实用了. M方法的调用格式: M('[基础模型名:]模型名','数据表前缀','数据库连接

ThinkPHP自动完成中使用函数与回调方法实例

本文实例讲述了ThinkPHP自动完成中使用函数与回调方法.分享给大家供大家参考.具体方法如下: ThinkPHP 自动填充格式如下: 复制代码 代码如下: array(填充字段,填充内容[,填充条件][,附加规则]) 附加规则,可选,包括: string:字符串,表示填充内容为字符串(默认). function:使用函数,表示填充的内容是一个函数返回值. callback:使用方法,表示填充的内容是一个当前 Model 的方法返回值. field:字段,表示填充的内容是一个其他字段的值. Th

Thinkphp模板中使用自定义函数的方法

注意:自定义函数要放在项目应用目录/common/common.php中. 这里是关键. 模板变量的函数调用格式:{$varname|function1|function2=arg1,arg2,### } 说明: { 和 $ 符号之间不能有空格,后面参数的空格就没有问题: ###表示模板变量本身的参数位置 : 支持多个函数,函数之间支持空格 : 支持函数屏蔽功能,在配置文件中可以配置禁止使用的函数列表 : 支持变量缓存功能,重复变量字串不多次解析. 使用例子: {$webTitle|md5|st

thinkPHP模板算术运算相关函数用法分析

本文实例讲述了thinkPHP模板算术运算相关函数用法.分享给大家供大家参考,具体如下: 函数定义如下: function you($num1,num2){ echo $num1*$num2/100; } <volist name="list" id="vo"> <tr> <td>{$vo.price|you=$vo.discount'}</td>或者:{$vo.price*$vo.discount/100} <

thinkphp3.0 模板中函数的使用

变量的来源: 1 从php分配的变量,使用assign分配 2 系统变量 3 路径替换变量 不能使用函数的变量 变量输出快捷标签 {@var}//输出Session变量 和{$Think.session.var}等效 {#var}//输出Cookie变量 和{$Think.cookie.var}等效 {&var}//输出配置参数 和{$Think.config.var}等效 {%var}//输出语言变量 和{$Think.lang.var}等效 {.var}//输出Get变量 和{$Think.

Thinkphp模板中截取字符串函数简介

在php中截取字符串的函数有很多,而在thinkphp中也可以直接使用php的函数,本文给大家简单的介绍thinkPHP模板中截取字符串的具体用法,希望能对各位有所帮助. 对于英文字符可使用如下形式: 复制代码 代码如下: {$vo.title|substr=0,5} 如果是中文字符thinkphp提供了msubstr,用法如下: 复制代码 代码如下: function msubstr($str, $start=0, $length, $charset="utf-8″, $suffix=true

ThinkPHP字符串函数及常用函数汇总

本文汇总了ThinkPHP的字符串处理函数及其他一些常用函数,可供开发人员参考使用.详情如下: get_client_ip() 获取客户端的IP地址 msubstr($str, $start=0, $length, $charset="utf-8″, $suffix=true) $str:要截取的字符串 $start=0:开始位置,默认从0开始 $length:截取长度 $charset="utf-8″:字符编码,默认UTF-8 $suffix=true:是否在截取后的字符后面显示省略

SQL字符串以及数字常用操作汇总

--将字符串中从某个字符开始截取一段字符,然后将另外一个字符串插入此处 select stuff('hi,world!',4,4,'****') --返回值hel****orld! --返回从指定位置开始指定长度的字符串 select substring('Hello,World!',2,10) --返回值ello,World --将字符串中某段字符替换为指定的字符串 select replace('hi,world!','ll','aa') --返回值heaao,world! --去除字符串中

oracle中的一些常用函数及示例

前言 学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函数及示例,一是为了和大家分享,二是可以在以后工作中忘记了随时查阅.废话不多说,下面直接上函数. 一.单行函数 只处理单个行,并且为每行返回一个结果. 1.字符函数 (1)concat(str1,str2)字符串拼接函数 select concat('Hello ','World') from

非常实用的PHP常用函数汇总

本文实例总结了一些在php应用开发中常用到的函数,这些函数有字符操作,文件操作及其它的一些操作了,分享给大家供大家参考.具体如下: 1.PHP加密解密 PHP加密和解密函数可以用来加密一些有用的字符串存放在数据库里,并且通过可逆解密字符串,该函数使用了base64和MD5加密和解密. 复制代码 代码如下: function encryptDecrypt($key, $string, $decrypt){     if($decrypt){         $decrypted = rtrim(m

Python基础之字符串操作常用函数集合

Python字符串常用功能汇总 1.字符串的定义 #定义空字符串>>> name=''#定义非空字符串 >>> name="luoahong"#通过下标访问 >>> name[1] 'u'#不能修改字符串的值,否则会报错 >>> name[2] = "3" Traceback (most recent call last): File "<stdin>", lin

jquery常用函数与方法汇总

1.delay(duration,[queueName]) 设置一个延时来推迟执行队列中之后的项目. jQuery 1.4新增.用于将队列中的函数延时执行.他既可以推迟动画队列的执行,也可以用于自定义队列. duration:延时时间,单位:毫秒 queueName:队列名词,默认是Fx,动画队列. 例: 头部与底部延迟加载动画效果 $(document).ready(function() { $('#header') .css({ 'top':-50 }) .delay(1000).anima

Python字符串和文件操作常用函数分析

本文实例分析了Python字符串和文件操作常用函数.分享给大家供大家参考.具体如下: # -*- coding: UTF-8 -*- ''' Created on 2010-12-27 @author: sumory ''' import itertools def a_containsAnyOf_b(seq,aset): '''判断seq中是否含有aset里的一个或者多个项 seq可以是字符串或者列表 aset应该是字符串或者列表''' for item in itertools.ifilte

ThinkPHP中Common/common.php文件常用函数功能分析

本文实例分析了ThinkPHP/Common/common.php文件常用函数功能.分享给大家供大家参考,具体如下: /** * 获取和设置配置参数 支持批量定义 * @param string|array $name 配置变量 * @param mixed $value 配置值 * @return mixed */ function C($name=null, $value=null) { static $_config = array(); // 无参数时获取所有 if (empty($na

python 字符串常用函数详解

字符串常用函数: 声明变量 str="Hello World" find() 检测字符串是否包含,返回该字符串位置,如果不包含返回-1 str.find("Hello") # 返回值:0 str.find("W") # 返回值:6, 这里需要注意下:空格也是一个字符.W前面有个空格,所以W位置是6 str.find("R") # 返回值:-1,并不包含在Hello World中,如果不包含返回-1 index() 检测字符串是

Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】 原创

前面简单介绍了Python基本运算,这里再来简单讲述一下Python字符串相关操作 1. 字符串表示方法 >>> "www.jb51.net" #字符串使用单引号(')或双引号(")表示 'www.jb51.net' >>> 'www.jb51.net' 'www.jb51.net' >>> "www."+"jb51"+".net" #字符串可以用"+&