thinkphp3.2.3在view中遍历关联数组,不通过键值

从Controller传来的data是一个关联数组,其中

键值为“skill”的value值是一个关联数组,关联数组中是记录关于游戏角色学习技能的要求

即多少级学习多少技能,

“1级”=>“阳光烈焰”,

"3级"=>"铁头功"

,即是说我们不可能知道某个角色的技能列表的键值,故需要不通过键值遍历所有关联数组

那么怎么遍历呢?

首先看控制层代码

 1 <?php
 2 
 3 namespace Home\Controller;
 4 
 5 
 6 use Home\Model\PokemonModel;
 7 use Think\Controller;
 8 
 9 class PokemonController extends Controller
10 {
11     public function pokemonDetail()
12     {
13         $id=I('get.id');//获取角色id
14         $pokemondao=new PokemonModel();//访问角色的dao层
15         $data=$pokemondao->queryPokemonById($id);//获得角色信息
16         $this->assign('data',$data);//把角色信息发送给视图
17         $this->display('pokemonDetail');//显示视图给用户
18     }
19 }

然后是视图层代码

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8 <table border="1px">
 9     <thead>
10     <tr>
11         <td>
12             等级
13         </td>
14         <td>
15             技能
16         </td>
17     </tr>
18     </thead>
19     <tbody>
20     <volist id="val" name="data.skill"><!--使用volist标签循环-->
21         <!--name为data['skill'] ,data['skill']就是要遍历的关联数组,
22         id为val即是取当前数组元素的value-->
23         <tr>
24             <td>
25                 {$key}<!--使用$key取key值-->
26             </td>
27             <td>
28                 <a href="skill">{$val}</a><!--使用$val取value值-->
29             </td>
30         </tr>
31     </volist>
32     </tbody>
33 </table>
34 </body>
35 </html>

然后是运行截图

就是这样遍历了。

 

posted @ 2019-03-26 20:35  DNoSay  阅读(524)  评论(0编辑  收藏  举报