我正在调试一个变量:
{foreach from=$menuItems item=row}
{$row|@print_r}
{/foreach}
打印
Array ([parent_id] => 0) 1 Array ( [parent_id] => 5)
到目前为止一切顺利。我必须迭代它,但
{foreach from=$menuItems item=row}
{$row.parent_id|@print_r}
{/foreach}
01 51 01
似乎在数字后面添加了一个不必要的数字“1”。跆拳道?
答案 0 :(得分:1)
我已经检查过了。
在PHP中我有:
$name = array();
$name[] = array('parent_id' => 0);
$name[] = array('parent_id' => 5);
$smarty->assign('menuItems',$name);
在Smarty,我有:
{foreach from=$menuItems item=row}
{$row|@print_r}
{/foreach}
<br />
{foreach from=$menuItems item=row}
{$row.parent_id|@print_r}
{/foreach}
输出是:
Array ( [parent_id] => 0 ) 1 Array ( [parent_id] => 5 ) 1
01 51
因此它可以像预期的那样工作。我在Smarty 3.1.18中对它进行了测试。可能在早期版本中存在一些错误。从那时起有很多修复 - https://code.google.com/p/smarty-php/source/browse/trunk/distribution/change_log.txt