當前位置:編程學習大全網 - 網站源碼 - Smarty中如何獲取數組的長度

Smarty中如何獲取數組的長度

在很多資料上都看到,在Smarty中要求數組的長度時,可以用在數組後便加|count的方法調用。即通過{array|count}獲得array的長度。但是今天在寫模板時,發現這樣得不到數組的長度,而只是得到壹個返回的字符串Array。也就是說僅僅是返回了{array}的結果,而沒有返回其array的長度。

查看smarty/plugins文件夾,發現並沒有count的相關方法,也就是說,count是直接調用了php中的方法。

後來通過網絡上的資料,發現可以在count前面加@,從而正確的獲取數組的長度。再進壹步查看Smarty的源碼,發現Smarty對屬性調節器後邊的方法名進行處理時,會對前邊加@的進行特殊處理。因此作出判斷:

在Smarty中的屬性調節器中調用php中定義好的函數時,可以通過加@來表示。

1、對類型為數組的方法進行測試時,發現不加@符號都會出錯。比如:要對壹個數組調用count方法求出數組的長度,就可以這樣調用

{array|@count

},而要對數組調用end方法得出數組的最後壹組數據時,則可以通過

{array|@end

}。

2、在對字符串的相關函數進行測試,發現加不加@都可以正常的調用。

3、其他的尚未認真測試。

  • 上一篇:B站被曝低俗泛濫是怎麽回事
  • 下一篇:沒有未來函數的通達信指標信號也會消失啊!!
  • copyright 2024編程學習大全網