foreach循环的{$key}键值,为什么都是最后那一个数组的键值

来源:5-5 模板循环标签

慕工程5626827

2017-10-08 22:23

传去模版的变量数组
$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


写回答 关注

2回答

  • _蛰伏
    2017-10-15 16:00:31

    {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}

  • miraclehw
    2017-10-08 22:56:18

    如果你要使用$key,那么必须使用:

    {foreach name="list" item="k"}

    <p>{$key}</p>

    {/foreach}

    慕工程562...

    不行哦。我特意只留下{$key}来试,两种都不行

    2017-10-08 22:58:11

    共 1 条回复 >

快速入门ThinkPHP 5.0--基础篇

ThinkPHP5已发布多时,想了解ThinkPHP5的新特性吗?老司机带你马上出发~

58655 学习 · 495 问题

查看课程

相似问题