thinkphp模板输出变量使用一个或多个函数-阿里云开发者社区

开发者社区> 开发与运维> 正文

thinkphp模板输出变量使用一个或多个函数

简介: 我们往往需要对模板输出变量使用函数,可以使用: {$data.name|md5}  编译后的结果是: 如果函数有多个参数需要调用,则使用: {$create_time|date="y-m-d",###} 表示date函数传入两个参数,每个参数用逗号分割,这里第一...

我们往往需要对模板输出变量使用函数,可以使用:

{$data.name|md5} 
编译后的结果是:

<?php echo (md5($data['name'])); ?>
如果函数有多个参数需要调用,则使用:

{$create_time|date="y-m-d",###}
表示date函数传入两个参数,每个参数用逗号分割,这里第一个参数是y-m-d,第二个参数是前面要输出的create_time变量,因为该变量是第二个参数,因此需要用###标识变量位置,编译后的结果是:

<?php echo (date("y-m-d",$create_time)); ?>
如果前面输出的变量在后面定义的函数的第一个参数,则可以直接使用:

{$data.name|substr=0,3}
表示输出

<?php echo (substr($data['name'],0,3)); ?>
虽然也可以使用:

{$data.name|substr=###,0,3}
但完全没用这个必要。

还可以支持多个函数过滤,多个函数之间用“|”分割即可,例如:

{$name|md5|strtoupper|substr=0,3}
编译后的结果是:

<?php echo (substr(strtoupper(md5($name)),0,3)); ?>
函数会按照从左到右的顺序依次调用。 
如果你觉得这样写起来比较麻烦,也可以直接这样写:

{:substr(strtoupper(md5($name)),0,3)}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章