加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 使用Twig创建一个数组

发布时间:2020-12-13 22:40:28 所属栏目:PHP教程 来源:网络整理
导读:我在 PHP中有这个: $units = array();foreach ($popPorts as $port) {$units[$port-getFrameNo()][$port-getSlotNo()][$port-getPortNo()] = $port-getPortNo();} 我怎样才能在树枝上实现同样的目标? 到目前为止我试过这个: {% set frames = [] %}{% for
我在 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完成繁重的数据处理.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读