smarty中怎麼呼叫php內建函數

怪我咯
發布: 2023-03-11 17:20:01
原創
1510 人瀏覽過

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!