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

黄舟
發布: 2023-03-14 09:42:01
原創
1384 人瀏覽過

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

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