我有一个问题,在控制器我有一个多维数组,但我不知道这个数组有多少维。它是动态的,由数据库决定的,所以我能以任何方式把它放在树枝上吗?
当我在twig中使用函数转储时,它显示:
array(5) {
[0]=> int(50)
[1]=> int(51)
[2]=> int(52)
[51]=> array(2) {
[0]=> int(55)
[55]=> array(1) {
[0]=> int(56)
}
}
[52]=> array(2) {
[0]=> int(53)
[1]=> int(54)
}
}
好的,你可以这样做:(如果你知道你的数组只有一个维度,总共2个维度)
{% for key, item in items %}
{% if item is iterable %}
{% for sub_item in item %}
Do something...
{% endfor %}
{% else %}
Do something else...
{% endif %}
{% endfor %}
如果你有一个多维数组,它有一个以上的子数组,你必须递归地调用一个函数来到达其他子维度。你可以在你的小枝扩展文件中做。
递归函数调用自身以到达多维数组中的子项。我不知道你想对这个数组做什么但是我将根据你的数组创建一个基本函数
function recursiveTwig($array)
{
foreach($array as $key => $value){
if(is_array($key)) {
$this->recursiveTwig($key);
} else {
//Do something with your value...
}
}
}
宏观:如何在Twig中渲染树