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>
然后是运行截图
就是这样遍历了。
路漫漫其修远兮,吾将上下而求索。