我有一个函数可以将以下内容输出到这样的数组中:
Array ( [0] => Array ( [id] => 1 [name] => name
但是我无法foreach
通过这个,我不确定为什么?
<ul>
{foreach from=$array item=item}
<li>{$item.name}</li>
{/foreach}
</ul>
更新
{foreach item=topitem from=$getlocations}
{foreach item=item from=$topitem}
<option value="{$item.locationid}">{$item.name}</option>
{/foreach}
{/foreach}
功能:
function getlocations()
{
global $smarty;
$query = placeholderstackoverflow;
return $query;
$smarty->assign('getlocations', $getlocations);
}
答案 0 :(得分:3)
假设您正在使用Smarty 3.xx,您的代码实际上将通过关联数组运行。
示例php代码:
$tpl->assign('yourarray', array(
0 => array (
'id' => 1,
'name' => 'name'
)
)
);
智能代码示例:
<ul>
{foreach from=$yourarray item=item}
<li>{$item.name}</li>
{/foreach}
</ul>
...生成以下HTML输出:
<ul>
<li>name</li>
</ul>
如果这不是您的实际或预期结果,请添加更多代码。
退房,
<强>更新强>
由于您正在使用Smarty 2.xx,因此请注意中间的foreach has been changed。
对于遍历嵌套数组,你不能只使用一个foreach,你必须使用更多的foreach。查看example 7.8 in the manual版本2.xx。