传去模版的变量数组 $list = [ "user1" =>["username"=>"1","email" => "123"], "user2" =>["username"=>"2","email" => "456"], "user3" =>["username"=>"3","email" => "789"] ]; 模版的foreach {foreach $list as $k } <p>{$key}</p> {/foreach} 结果 user3:1:123 user3:2:456 user3:3:789 然后那个{$key} 循环了三次,为什么键值都是user3 而不是user1 user2 user3
{foreach $list as $k } 首先楼主需要注意的是:$k输出的是一个值,而其默认的键值是从0开始的,假如需要键值是user1、user2、user3的话那么需要把键值也显示出来:
像这样的:
{foreach $list as $key=>$v}
<p>{$key}</p>
{/foreach}
或者是这种方式也是可以的:
{foreach name="list" item="k"}
<p>{$key}</p>
{/foreach}
如果你要使用$key,那么必须使用:
{foreach name="list" item="k"}
<p>{$key}</p>
{/foreach}