首頁  >  文章  >  後端開發  >  smarty中怎麼呼叫php內建函數

smarty中怎麼呼叫php內建函數

怪我咯
怪我咯原創
2017-06-28 10:29:491466瀏覽

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

以上是smarty中怎麼呼叫php內建函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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