Twigで配列の一部を取り出す

Twigで配列の一部を取り出すときは、sliceを使えばオケ。

でも配列のキーがつぶれた。

マニュアル見た。

https://twig.symfony.com/doc/2.x/filters/slice.html

The slice filter works as the array_slice PHP function for arrays and mb_substr for strings with a fallback to substr.

英語読めないけど、PHPのarray_sliceと同じって書いてある気がする。

http://php.net/manual/ja/function.array-slice.php

第4引数がいい感じっぽい。

preserve_keys array_slice() はデフォルトで配列の数値キーを並べなおし、 リセットすることに注意してください。 preserve_keys を TRUE にする事でこの動作を変更することができます。

つまりTwigだと第3引数だねってことで、第3引数にtrueって書くとつぶれなくなった。

こんな感じで使ったよ。

{% for key,value in items|slice(0, limit, true) %}