入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

smarty中调用php内置函数

创建时间:2015-12-21 投稿人: 浏览次数:4968
CleverCode发现smarty中调用php内置函数可以通过|实现。|前后没有空格。如果是数组求count需要加上@。

1个参数时候:
{{"param1"|functionName}} 
例如
{{$tmpStr|strlen}}

2个参数时候:
{{"param1"|functionName:"param2"}}
{$tmpStr|substr:"1"} 

多个参数时候:
{{"param1"|functionName:"param2":"param3"..}} 
{{$tmpStr|substr:"1":"2"}}

{{"a"|str_replace:"A":$tmpStr}}



如下代码php分配给tmpStr为空或没分配;那么smarty中输出0。这个是调用了php的内置函数strlen
php代码:
$smarty->assign("tmpStr","");

smarty代码:
{{if $tmpStr|strlen > 0 }}
    1
{{else}}
    0
{{/if}}


通过php内置的函数is_array和count求得数组长度,如下的代码输出5
php代码:

$smarty->assign("tmpArr",array(1,2,3,4,5));


smarty代码:

{{if $tmpArr|is_array && $tmpArr|@count > 0}}
    {{$tmpArr|@count}}
{{else}}
    0

{{/if}}


如下的代码是将tmpStr中的b替换为c
$smarty->assign("tmpStr","abb");
{{"b"|str_replace:"c":$tmpStr}}

输出:acc


$smarty->assign("tmpStr","abb");

{{$tmpStr|substr:"1"}} 
输出:bb

{{$tmpStr|substr:"1":"1"}}
输出:b
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。