>我有一个数组
array('foo_1' => 1, 'bar_1' =>1, 'foo_2' => 2, 'bar_2' => 2, ... )
for($i = 1; $i<=12; $i++){
echo $month['foo_'.$i];
}
而且我不明白如何使用 Smarty 从中访问值。
{counter start=0 skip=1 assign="i"}
{section name = month start = 0 loop = 12 step = 1}
{if isset($arr.foo_.$i)}
{$arr.bar_$i}
{/if}
{counter}
{/section}
但它不起作用。主要问题是 - 如何在 smarty 中访问数组['foo_1'] ?你能帮忙吗?
必须先构建密钥,然后才能在数组中访问它。使用分配生成完整名称。
{assign var=fooKey value="foo_"|cat:$i}
{assign var=barKey value="bar_"|cat:$i}
{if isset($arr.{$fooKey})}
{$arr.{$barKey}}
{/if}
您的尝试{$arr.foo_.$i}
意味着访问 $arr.foo_
下的数组中的子项$i
。