【问题标题】:phalcon php : get element at indexphalcon php:获取索引处的元素
【发布时间】:2014-08-25 18:01:36
【问题描述】:

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

我知道这个 for 循环

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

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

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

【问题讨论】:

    标签: php phalcon volt


    【解决方案1】:

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

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

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

    {{ robots[5] }}
    

    另外,看起来有bugobject in array 的情况,所以您可以在 Volt 模板中使用 PHP 代码来解决您的问题,而无需循环:

    <?php echo $robots[5]->name ?>
    

    【讨论】:

      【解决方案2】:

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

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

      {{ robots[4] }}
      

      【讨论】:

      • phalcon 网站说它基于 Jinja,所以 Volt 和 Twig 似乎是姐妹,而不是母女。
      【解决方案3】:

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

      {{ robots[5] }}
      

      【讨论】:

      • 这其实不是……
      • 很公平@IanBytchek。我正在根据语法做出假设。我刚刚删除了 Twig 的链接。
      猜你喜欢
      • 1970-01-01
      • 2021-08-15
      • 2011-04-15
      • 2013-05-24
      • 1970-01-01
      • 1970-01-01
      • 2018-11-21
      • 2012-09-15
      • 2017-02-08
      相关资源
      最近更新 更多