天天看點

thinkphp模闆輸出變量使用一個或多個函數

我們往往需要對模闆輸出變量使用函數,可以使用:

{$data.name|md5} 

編譯後的結果是:

<?php echo (md5($data['name'])); ?>

如果函數有多個參數需要調用,則使用:

{$create_time|date="y-m-d",###}

表示date函數傳入兩個參數,每個參數用逗号分割,這裡第一個參數是y-m-d,第二個參數是前面要輸出的create_time變量,因為該變量是第二個參數,是以需要用###辨別變量位置,編譯後的結果是:

<?php echo (date("y-m-d",$create_time)); ?>

如果前面輸出的變量在後面定義的函數的第一個參數,則可以直接使用:

{$data.name|substr=0,3}

表示輸出

<?php echo (substr($data['name'],0,3)); ?>

雖然也可以使用:

{$data.name|substr=###,0,3}

但完全沒用這個必要。

還可以支援多個函數過濾,多個函數之間用“|”分割即可,例如:

{$name|md5|strtoupper|substr=0,3}

<?php echo (substr(strtoupper(md5($name)),0,3)); ?>

函數會按照從左到右的順序依次調用。 

如果你覺得這樣寫起來比較麻煩,也可以直接這樣寫:

{:substr(strtoupper(md5($name)),0,3)}