首頁  >  文章  >  後端開發  >  php內建函數如何在smarty中呼叫的實例分享

php內建函數如何在smarty中呼叫的實例分享

黄舟
黄舟原創
2017-07-17 15:38:141385瀏覽

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

1 marty判斷是否為空 

##如下程式碼php分配給tmpStr為空或沒分配;那麼smarty中輸出0。這是呼叫了php內建的函數strlen


php程式碼

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

2 marty求陣列長度

透過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}}

#3 marty 字串替換

如下的程式碼是將tmpStr中的b替換為c


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

輸出:

acc

#4 marty截取欄位
$smarty->assign('tmpStr','abb');
{{$tmpStr|substr:'1'}}

輸出:

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

輸出:

b

以上是php內建函數如何在smarty中呼叫的實例分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn