有人可以提供一个简单的演示吗?我似乎无法理解 smarty syntax用于迭代如下所示的数组。我想了解各个层面的值(value)观。
Array
(
[0] => Array
(
[id] => 0
[name] => 12312
[sub24] => Array
(
[0] => Array
(
[classid] => 157
[classname] => 24011010
)
[1] => Array
(
[classid] => 170
[classname] => 24011020
)
[2] => Array
(
[classid] => 183
[classname] => 24011030
)
)
[sub23] => Array
(
[0] => Array
(
[classid] => 60
[classname] => 23011010
)
[1] => Array
(
[classid] => 73
[classname] => 23011030
)
[2] => Array
(
[classid] => 85
[classname] => 23012030
)
)
[sub22] => Array
(
[0] => Array
(
[classid] => 1
[classname] => 22011010
)
[1] => Array
(
[classid] => 13
[classname] => 22012010
)
[2] => Array
(
[classid] => 24
[classname] => 22012020
)
)
)
最佳答案
未经测试,但从我的角度来看,是这样的。
注意:我这样做是因为你说你想要 Smarty Syntax。通常我会将其填充到辅助函数中,创建列表/表格/任何内容,然后从 Smarty 中调用辅助函数。
<html>
<head><title>Smarty Foreach Demo</title></head>
<body>
<p>This code assumes you have $smarty->assign()'ed $var to be your multi-dimensional array</p>
<ul>
{foreach from=$var key=key1 item=lvl1}
<li>Current key: $key1,
Current value:
{if !is_array($lvl1)}
{$lvl1}
{else}
Array:<ul>
{foreach from=$lvl1 key=key2 item=lvl2}
<li>Current key: $key1,
Current value:
{if !is_array($lvl1)}
{$lvl1}
{else}
Even deeper array.. keep doing same stuff!
{/if}
</li>
{/foreach}
</ul>
{/if}
{/foreach}
</ul>
</body>
关于php - smarty 中是否可以迭代多维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1664981/