我在PHP中有这个:
$units = array();
foreach ($popPorts as $port) {
$units[$port->getFrameNo()][$port->getSlotNo()][$port->getPortNo()] = $port->getPortNo();
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能在树枝上实现同样的目标?
到目前为止我试过这个:
{% set frames = [] %}
{% for row in object.popPorts %}
{% set frames[row.frameNo][row.slotNo][row.portNo] = row.portNo %}
{% endfor %}
{{ dump(frames) }}
Run Code Online (Sandbox Code Playgroud)
但后来我收到一个错误:
值"["的意外标记"标点符号"("预期语句块结束").
输出应该是这样的:
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
Run Code Online (Sandbox Code Playgroud)
Jav*_*luz 25
我担心你不能在Twig中创建这样的数组.即使将新项添加到数组也很复杂,因为您需要为新元素创建一个数组并将其与现有数组连接起来.例:
{% set array = [] %}
{% for item in items %}
{% set array = array|merge([{ title: item.title, ... }]) %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我知道这看起来很糟糕,但所有这些不便都是故意的.Twig用于创建模板,因此可用于创建或处理信息的功能是有限的.我们的想法是使用PHP完成繁重的数据处理.
其它的办法 :
{% set array = {
'item-1': {
'sub-item-1': 'my-sub-item-1',
'sub-item-2': 'my-sub-item-2',
},
'item-2': {
'sub-item-1': 'my-sub-item-1',
'sub-item-2': 'my-sub-item-2',
},
'item-3': {
'sub-item-1': 'my-sub-item-1',
'sub-item-2': 'my-sub-item-2',
}
}
%}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31890 次 |
| 最近记录: |