Smarty 获取数组的长度
来源:互联网 发布:算法智商 编辑:程序博客网 时间:2024/06/05 06:03
转载链接 http://blog.csdn.net/yangqicong/article/details/6925014
分配了一个数组array给Smarty,假设Smarty的分界符为'{'和'}'。
分配了一个数组array给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、其他的尚未认真测试。对于在smarty中调用复杂的php函数不予鼓励,因为Smarty的本意就是要实现代码和模板分离,应该认定模板就是界面设计的人员用的,如果过多地加复杂逻辑,对他们来说就是一种折磨了。
0 0
- Smarty 获取数组的长度
- Smarty 获取数组的长度
- Smarty中如何获取数组的长度 ,及smarty 调用php函数
- 获取数组的长度
- 数组长度的获取
- Smarty 显示大括号 | 在Smarty中计算数组元素的长度 | Smarty字符串拼接
- smarty 如何获取统计数组的个数
- 如何获取数组的长度
- 通用数组长度的获取
- 获取数组长度的方法
- 如何获取数组的长度
- C++获取数组的长度
- smarty模板中计算数组长度
- php获取数组的长度的方法
- 为什么如此获取Java数组的长度
- 怎样获取字符串数组的长度
- 为什么如此获取Java数组的长度
- c/c++如何获取数组的长度
- ubuntu下,adb devices显示"???????????? no permissions"
- 初创企业获得成功的几点经验
- cortex_m3_stm32嵌入式学习笔记(二十):IIC实验(I2C串行总线)
- Java学习拾遗
- srcache_nginx+redis构建缓存系统
- Smarty 获取数组的长度
- 三种数据库的jdbc配置
- Java性能小技巧
- [leetcode] 30 Substring with Concatenation of All Words
- 安卓在代码中设置TextView的drawableLeft、drawableRight、drawableTop、drawableBottom
- jquery mobile 新手问题汇总
- 日经社説 20150126 中国は資源輸出の是正急げ
- Java之旅——字符串操作1
- 关键词优化外包陷阱,你中招了吗?