mirror of
https://github.com/twigphp/Twig.git
synced 2026-09-16 04:16:28 +00:00
Don't use array_fill for full array
This commit is contained in:
committed by
Fabien Potencier
parent
7c1ce36f87
commit
270c7943b1
@@ -1329,7 +1329,7 @@ function twig_constant($constant, $object = null)
|
||||
*
|
||||
* @param array $items An array of items
|
||||
* @param integer $size The size of the batch
|
||||
* @param string $fill A string to fill missing items
|
||||
* @param mixed $fill A value used to fill missing items
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
@@ -1345,10 +1345,12 @@ function twig_array_batch($items, $size, $fill = null)
|
||||
|
||||
if (null !== $fill) {
|
||||
$last = count($result) - 1;
|
||||
$result[$last] = array_merge(
|
||||
$result[$last],
|
||||
array_fill(0, $size - count($result[$last]), $fill)
|
||||
);
|
||||
if ($fillCount = $size - count($result[$last])) {
|
||||
$result[$last] = array_merge(
|
||||
$result[$last],
|
||||
array_fill(0, $fillCount, $fill)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
--TEST--
|
||||
"batch" filter
|
||||
--TEMPLATE--
|
||||
{% for row in items|batch(3, 'fill') %}
|
||||
<div class=row>
|
||||
{% for column in row %}
|
||||
<div class=item>{{ column }}</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
--DATA--
|
||||
return array('items' => array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l'))
|
||||
--EXPECT--
|
||||
<div class=row>
|
||||
<div class=item>a</div>
|
||||
<div class=item>b</div>
|
||||
<div class=item>c</div>
|
||||
</div>
|
||||
<div class=row>
|
||||
<div class=item>d</div>
|
||||
<div class=item>e</div>
|
||||
<div class=item>f</div>
|
||||
</div>
|
||||
<div class=row>
|
||||
<div class=item>g</div>
|
||||
<div class=item>h</div>
|
||||
<div class=item>i</div>
|
||||
</div>
|
||||
<div class=row>
|
||||
<div class=item>j</div>
|
||||
<div class=item>k</div>
|
||||
<div class=item>l</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user