中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

探討Smarty中如何獲取數(shù)組的長度以及smarty調(diào)用php函數(shù)的詳解

Smarty中如何獲取數(shù)組的長度
前提假設(shè):
分配了一個數(shù)組array給Smarty,假設(shè)Smarty的分界符為'{' 和'}'。
在很多資料上都看到,在Smarty中要求數(shù)組的長度時,可以用在數(shù)組后便加|count的方法調(diào)用。即通過{array|count}獲得array的長度。但是今天在寫模板時,發(fā)現(xiàn)這樣得不到數(shù)組的長度,而只是得到一個返回的字符串Array。也就是說僅僅是返回了{array}的結(jié)果,而沒有返回其array的長度。

查看smarty/plugins文件夾,發(fā)現(xiàn)并沒有count的相關(guān)方法,也就是說,count是直接調(diào)用了php中的方法。
后來通過網(wǎng)絡(luò)上的資料,發(fā)現(xiàn)可以在count前面加@,從而正確的獲取數(shù)組的長度。再進一步查看Smarty的源碼,發(fā)現(xiàn)Smarty對屬性調(diào)節(jié)器后邊的方法名進行處理時,會對前邊加@的進行特殊處理。因此作出判斷:在Smarty中的屬性調(diào)節(jié)器中調(diào)用php中定義好的函數(shù)時,可以通過加@來表示。

1、對類型為數(shù)組的方法進行測試時,發(fā)現(xiàn)不加@符號都會出錯。比如:要對一個數(shù)組調(diào)用count方法求出數(shù)組的長度,就可以這樣調(diào)用{array|@count},而要對數(shù)組調(diào)用end方法得出數(shù)組的最后一組數(shù)據(jù)時,則可以通過{array|@end}。
2、在對字符串的相關(guān)函數(shù)進行測試,發(fā)現(xiàn)加不加@都可以正常的調(diào)用。
3、其他的尚未認真測試。對于在smarty中調(diào)用復(fù)雜的php函數(shù)不予鼓勵,因為Smarty的本意就是要實現(xiàn)代碼和模板分離,應(yīng)該認定模板就是界面設(shè)計的人員用的,如果過多地加復(fù)雜邏輯,對他們來說就是一種折磨了。


 

php技術(shù)探討Smarty中如何獲取數(shù)組的長度以及smarty調(diào)用php函數(shù)的詳解,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久一区| 欧美日韩国产在线 | 国产精品永久免费观看 | 国产一区在线免费观看视频 | 中文在线a在线 | 久久久久久久久久性 | 美美女高清毛片视频免费观看 | 久草福利 | 99久久99久久精品国产片果冰 | 精品免费视频 | 国产精品久久亚洲 | 日韩视频在线免费观看 | 国产视频久久 | 激情五月综合网 | 日韩精品一区二区三区中文在线 | 国产成人综合网 | 精品久久久久久亚洲精品 | 少妇淫片aaaaa毛片叫床爽 | 亚洲成人一区二区三区 | 伊人狠狠干 | 欧美精品一区二区三区在线播放 | 久久综合av | 九九热这里 | 国产一区在线免费观看视频 | 欧美一级黄色片免费观看 | 欧美电影一区 | 国产欧美日韩在线观看 | 精品一区av | 国产一区二区在线免费观看 | 欧美不卡| 日本在线视 | 国产欧美视频一区 | av在线免费播放 | 久久黄色网| 国产午夜精品理论片a大结局 | 成人在线免费电影 | 51ⅴ精品国产91久久久久久 | 天天干天天操天天看 | 91超碰在线 | 欧美成视频 | 久久精品在线 |