thinkphp中的offset是不是必须和length同时使用
2 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
加了offset不加length的话系统会自动取数组中元素的个数来补全,但是不加offset却加了length则会报错。
下面大概说一下这里thinkphp是如何实现的:
thinkphp这里是用的数组截取,也就是array_slice函数,
1 2 | array array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys ]] ) |
array_slice() 默认将重置数组的键。自 PHP 5.0.2
起,可以通过将 preserve_keys 设为
TRUE 来改变此行为。
这里因为要保存原来的键值,所以需要第四个参数TRUE的。
模板和实现对应:
1、正常
1 | <volist name="lists" id="list" offset="0" length='15'> |
1 | $__LIST__ = array_slice($lists,0,15,true); |
2、正常
1 | <volist name="lists" id="list" offset="0"> |
1 | $__LIST__ = array_slice($lists,0,count($__LIST__),true); |
3、报错
1 | <volist name="lists" id="list" length="15"> |
1 | $__LIST__ = array_slice($lists,,15,true); |
- 2 回答
- 0 关注
- 1388 浏览
添加回答
举报
0/150
提交
取消