如何在树枝中正确循环三维数组?
Posted
技术标签:
【中文标题】如何在树枝中正确循环三维数组?【英文标题】:How to properly loop three dimensional array in twig? 【发布时间】:2013-12-15 06:57:49 【问题描述】:我有一个这样的数组设置;而且我似乎无法用树枝遍历这些值:
array (size=1)
'hash' =>
array (size=7)
0 =>
array (size=4)
'key1' => "val"
'key2' => "val"
'key3' => "val"
'key4' => "val"
1 =>
array (size=4)
'key1' => "val"
'key2' => "val"
'key3' => "val"
'key4' => "val"
...
我正在使用的模板代码(在第 n 次迭代中):
% for i in hash %
% for j in i %
<td> j.key1 </td>
<td> j.key2 </td>
<td> j.key3 </td>
<td> j.key4 </td>
% endfor %
% endfor %
上面的树枝模板代码不断收到Array to string conversion
错误。
【问题讨论】:
【参考方案1】:在 vijay4vijju 和他对dump
的参考的帮助下,我能够遍历数组。
只需要一个循环:
% for key,val in hash %
<tr>
<td> val.key1 </td>
<td> val.key2 </td>
<td> val.key3 </td>
<td> val.key4 </td>
</tr>
% endfor %
我会选择他的答案,但从技术上讲它不是答案,dump 只是对dump
手册的参考。
为了在我使用的树枝中启用调试:
$twig = new Twig_Environment($loader, array(
'debug' => true,
));
$twig->addExtension(new Twig_Extension_Debug());
为了解决这个问题,我使用了:
% for key,val in hash %
<pre> dump(val) </pre>
<tr>
<td> val.key1 </td>
<td> val.key2 </td>
<td> val.key3 </td>
<td> val.key4 </td>
</tr>
% endfor %
【讨论】:
【参考方案2】:试试这个。我不确定
% for key,value in hash %
% for key1,value1 in value %
Value1 : dump(value1)
% for key2,value2 in value1 %
Value1 : value2
% endfor %
% endfor %
% endfor %
dump 将打印数组中的数据:
参考dump
【讨论】:
编辑了我的答案检查一次。尝试转储?【参考方案3】:我用它在树枝中打印多维数组,希望它能工作。
% for item in hash %
% for firstLevelItem in item %
<ul>
<li> firstLevelItem.comments </li>
</ul>
% endfor %
% endfor %
【讨论】:
以上是关于如何在树枝中正确循环三维数组?的主要内容,如果未能解决你的问题,请参考以下文章
laravel5.4+vue.jslaravel 循环三维数组,解决:htmlentities() expects parameter 1 to be string, array given(示例(代