Home  >  Article  >  Backend Development  >  Example sharing of how to call PHP built-in functions in smarty

Example sharing of how to call PHP built-in functions in smarty

黄舟
黄舟Original
2017-07-17 15:38:141384browse

CleverCode found that calling phpbuilt-in functions in smarty can be achieved through |. |No spaces before and after. If it is an array, you need to add @ to find the count.

When there are 1 parameters:

{{'param1'|functionName}}

For example,

{{$tmpStr|
strlen
}}

When there are 2 parameters:

{{'param1'|functionName:'param2'}}
{$tmpStr|substr:'1'}

When there are multiple parameters:

{{'param1'|functionName:'param2':'param3'..}} 
{{$tmpStr|substr:'1':'2'}}
{{'a'|str_replace:'A':$tmpStr}}

1 marty determines whether it is empty

The following code The tmpStr allocated by php is empty or not allocated; then smarty outputs 0. This is calling PHP's built-in function strlen
php code:

$smarty->assign('tmpStr','');
smarty代码:
{{if $tmpStr|strlen > 0 }}
    1
{{else}}
    0
{{/if}}

2 marty seeks the length of the array


Get the array length through PHP's built-in functions is_array and count. The following code outputs 5
php code:

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

smarty code:

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

3 marty StringReplacement

The following code replaces b in tmpStr with c

$smarty->assign('tmpStr','abb');
{{'b'|str_replace:'c':$tmpStr}}

Output:

acc

4 marty intercept field

$smarty->assign('tmpStr','abb');
{{$tmpStr|substr:'1'}}

Output:

bb
{{$tmpStr|substr:'1':'1'}}

Output:

b

The above is the detailed content of Example sharing of how to call PHP built-in functions in smarty. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn