片
的片
Filter提取序列、映射或字符串的一个片段:
1 2 3 4 5 6 7
{%为I在[1,2,3,4,5]|片(1,2) %}{#将遍历2和3 #}{%endfor%}{{‘12345’|片(1,2)}}{#输出23 #}
你可以使用任何有效的表达式来表示开头和长度:
1 2 3
{%为I在[1,2,3,4,5]|片(start, length) %}{#……#}{%endfor%}
作为语法糖,你也可以使用[]
符号:
1 2 3 4 5 6 7 8 9 10 11
{%为I in [1,2,3,4,5][start:length] %}{#……#}{%endfor%}{{'12345'[1:2]}}{#将显示“23”#}{#你可以省略第一个参数——它与0 #}相同{{'12345'[:2]}}{#将显示“12”#}{#你可以省略最后一个参数——它将选择直到结束的所有内容#}{{'12345'[2:]}}{#将显示“345”#}
的片
过滤器的工作原理是array_slicePHP函数用于数组和mb_substr对于有回退的字符串字符串的子串.
如果起始值为非负,则序列将从变量中的起始值开始。如果start为负,则序列将从距离变量末尾很远的地方开始。
如果长度是给定的,并且是正的,那么序列中最多有这么多元素。如果变量比长度短,则只显示可用的变量元素。如果length是给定的并且为负数,那么序列将停止从变量末尾开始的许多元素。如果省略它,则序列将包含从偏移量到变量末尾的所有内容。
请注意
属性的对象也可以使用可否认的接口。
参数
开始
:切片的开始长度
:切片的大小preserve_keys
:是否保留键(当输入为数组时)