我在
PHP中有这个:
$units = array(); foreach ($popPorts as $port) { $units[$port->getFrameNo()][$port->getSlotNo()][$port->getPortNo()] = $port->getPortNo(); }
我怎样才能在树枝上实现同样的目标?
到目前为止我试过这个:
{% set frames = [] %} {% for row in object.popPorts %} {% set frames[row.frameNo][row.slotNo][row.portNo] = row.portNo %} {% endfor %} {{ dump(frames) }}
Unexpected token “punctuation” of value “[” (“end of statement block”
expected).
输出应该是这样的:
array (size=3) (frame) 1 => array (size=2) (slot) 1 => array (size=4) 0 => (port) 26 1 => (port) 27 2 => (port) 28 3 => (port) 29 (slot) 5 => array (size=2) 0 => (port) 31 1 => (port) 34 (frame) 2 => array (size=1) (slot) 3 => array (size=1) 0 => (port) 32 (frame) 3 => array (size=1) (slot) 6 => array (size=1) 0 => (port) 33
我担心你不能在Twig中创建这样的数组.即使将新项添加到数组也很复杂,因为您需要为新元素创建一个数组并将其与现有数组连接起来.例:
{% set array = [] %} {% for item in items %} {% set array = array|merge([{ title: item.title,... }]) %} {% endfor %}
我知道这看起来很糟糕,但所有这些不便都是故意的. Twig用于创建模板,因此可用于创建或处理信息的功能是有限的.我们的想法是使用PHP完成繁重的数据处理.
原文地址:https://www.jb51.cc/php/133257.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。