片
的片
滤波器提取序列的一片,一个映射,或一个字符串:
1 2 3 4 5 6 7
{%为我在(1、2、3、4、5)|片(1、2)%}{#将迭代2和3 #}{%endfor%}{{‘12345’|片(1、2)}}{#输出23 #}
您可以使用任何有效的表达式的开始和长度:
1 2 3
{%为我在(1、2、3、4、5)|片(开始,长度)%}{#……#}{%endfor%}
语法糖,还可以使用[]
符号:
1 2 3 4 5 6 7 8 9 10 11
{%为我在(1、2、3、4、5][开始:长度]%}{#……#}{%endfor%}{{‘12345’[1:2]}}{#将显示“23”#}{#你可以省略第一个参数——0 #}是一样的{{‘12345’[:2]}}{#将显示“12”#}{#你可以省略最后一个参数——将选择一切直到最后#}{{“12345”[2]}}{#将显示“345”#}
的片
过滤器是array_slicePHP数组和函数mb_substr对字符串的回退字符串的子串。
如果一开始就非负,序列将开始在开头的变量。如果开始是负的,序列将开始,远未结束的变量。
如果长度,是正的,那么序列将很多元素。如果变量是比长度短,那么只有可用的变量元素将显示。如果长度和序列是负的,那么将会停止,许多元素的变量。如果省略,那么序列将从抵消直到结束的变量。
请注意
它还适用于对象实现可否认的接口。
参数
开始
:切片的开始长度
:片的大小preserve_keys
:是否保存键(当输入一个数组)