1

我们如何在*.volt视图中获取索引 i 处的元素?

我知道这个for 循环

{% for robot in robots %}
  {% if robot.type == "cyborg" %}
    {{ robot.name }}
  {% endif %}
{% endfor %}  

但我只想在索引 5处打印机器人的名称,我不关心其他机器人名称。

我可以在不使用for 循环的情况下访问索引 5 的机器人吗?

4

3 回答 3

3

Volt 模板被编译为 PHP 代码(您可以在*.volt.php文件中手动检查它),因此您可以使用类似的语法来访问循环中的数组键:

{% for key, robot in robots %}
    {% if key == 5 %}
        {{ robot.name }}
    {% endif %}
{% endfor %}

或者您可以使用常规 PHP 语法按索引访问元素而无需循环:

{{ robots[5] }}

此外,看起来有一个案例错误object in array,因此您可以使用 Volt 模板中的 PHP 代码来解决您的问题而无需循环:

<?php echo $robots[5]->name ?>
于 2014-08-26T07:49:02.200 回答
0

Volt 确实基于 twig,但有一些功能没有实现,因此您应该使用原始 volt 文档做得更好: http: //docs.phalconphp.com/en/latest/reference/volt.html#variables

无论如何,答案几乎是正确的,您可以通过索引访问数组,但请记住数组索引以“0”开头,因此正确答案是:

{{ robots[4] }}
于 2014-08-27T11:06:17.450 回答
-1

您应该能够像这样访问数组的特定索引:

{{ robots[5] }}
于 2014-08-25T18:31:59.470 回答