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程序设计有所帮助。

(0)

相关推荐

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

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

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

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

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

  • 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} <

  • 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字符串函数及常用函数汇总

    本文汇总了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:是否在截取后的字符后面显示省略

  • ThinkPHP中I(),U(),$this->post()等函数用法

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

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

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

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

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

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

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

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

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

  • 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 传入的参数

  • 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.

随机推荐