如何在树枝中转换数组块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在树枝中转换数组块相关的知识,希望对你有一定的参考价值。

我想将以下行从php转换为twig我尝试了很多方法,但没有用,任何人都可以指导我怎么做...

<?php foreach (array_chunk($images, 4) as $image) { ?>

<?php if ($image['type'] == 'image') { ?>
答案

array_chunk内置twig作为slice过滤器

{% for image in images|slice(0,4) %}
    {% if image.type == 'image' %}
        {# I am an image #}
    {% endif %}
{% endfor %}

你可以通过在if中移动for-loop来缩短上面的例子

{% for image in images|slice(0,4) if image.type == 'image' %}
    {# I am an image #}
{% endfor %}
另一答案

使用Twig内置的batch()过滤器

batch filter将原始数组拆分为多个块。查看此示例以获得更好的说明:

{% set items = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] %}

<table>
{#The first param to batch() is the size of the batch#}
{#The 2nd param is the text to display for missing items#}
{% for row in items|batch(3, 'No item') %}
    <tr>
        {% for column in row %}
            <td>{{ column }}</td>
        {% endfor %}
    </tr>
{% endfor %}
</table>

这将呈现为:

<table>
    <tr>
        <td>a</td>
        <td>b</td>
        <td>c</td>
    </tr>
    <tr>
        <td>d</td>
        <td>e</td>
        <td>f</td>
    </tr>
    <tr>
        <td>g</td>
        <td>No item</td>
        <td>No item</td>
    </tr>
</table>

Reference

以上是关于如何在树枝中转换数组块的主要内容,如果未能解决你的问题,请参考以下文章

如何在树枝中正确循环三维数组?

如何在 Django Summernote 中显示编程片段的代码块?

如何将此 JavaScript 代码片段翻译成 Parenscript?

如何访问树枝中的动态变量名?

如何循环遍历树枝数据

树枝比较运算符表现不佳