mirror of
https://github.com/twigphp/Twig.git
synced 2026-09-16 12:26:30 +00:00
fixed support for IteratorAggregate in the filter filter
This commit is contained in:
@@ -1696,6 +1696,10 @@ function twig_array_filter($array, $arrow)
|
|||||||
return array_filter($array, $arrow);
|
return array_filter($array, $arrow);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
while ($array instanceof \IteratorAggregate) {
|
||||||
|
$array = $array->getIterator();
|
||||||
|
}
|
||||||
|
|
||||||
return new \CallbackFilterIterator($array, $arrow);
|
return new \CallbackFilterIterator($array, $arrow);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,8 +18,15 @@
|
|||||||
{% for k, v in it|filter((v) => v > offset) -%}
|
{% for k, v in it|filter((v) => v > offset) -%}
|
||||||
{{ k }} = {{ v }}
|
{{ k }} = {{ v }}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
|
{% for k, v in ita|filter(v => v > offset) -%}
|
||||||
|
{{ k }} = {{ v }}
|
||||||
|
{% endfor %}
|
||||||
--DATA--
|
--DATA--
|
||||||
return ['it' => new \ArrayIterator(['a' => 1, 'b' => 2, 'c' => 5, 'd' => 8])]
|
return [
|
||||||
|
'it' => new \ArrayIterator(['a' => 1, 'b' => 2, 'c' => 5, 'd' => 8]),
|
||||||
|
'ita' => new IteratorAggregateStub(['a' => 1, 'b' => 2, 'c' => 5, 'd' => 8]),
|
||||||
|
]
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
1 = 5
|
1 = 5
|
||||||
3 = 4
|
3 = 4
|
||||||
@@ -34,3 +41,6 @@ d = 8
|
|||||||
|
|
||||||
c = 5
|
c = 5
|
||||||
d = 8
|
d = 8
|
||||||
|
|
||||||
|
c = 5
|
||||||
|
d = 8
|
||||||
|
|||||||
Reference in New Issue
Block a user