首页 > 教程 >
Thinkphp volist多重循环原样输出数组key值
2023-02-16教程围观次
简介下面由thinkphp框架开发栏目给大家介绍Thinkphpvolist多重循环原样输出数组key值的使用总结,希望对需要的朋友有所帮助!最近因为项目的缘故,要使用到volist。在这个过程中,遇到了一些小问题,主要就是volist在循环输出多重数据的时候,如何输出key。网上查阅了不少资料,很失望的是,大多资料就是粘贴复制Thinkphp手册上volist标签的说明。为了帮助其他人,故决定写下这
下面由thinkphp框架开发栏目给大家介绍 Thinkphp volist 多重循环原样输出 数组 key值的使用总结,希望对需要的朋友有所帮助!
最近因为项目的缘故,要使用到volist。在这个过程中,遇到了一些小问题,主要就是volist在循环输出多重数据的时候,如何输出key。网上查阅了不少资料,很失望的是,大多资料就是粘贴复制Thinkphp手册上volist标签的说明。为了帮助其他人,故决定写下这篇文章。( 在这里,使用的框架是Thinkphp3.2,其它的相关知识,是php数组)。首先贴出控制器里面代码:
public function check(){ $multiArr = [['a' => ['num' => '1',], 'b' => ['num' => '2',]], ['c' => ['num' => '3',], 'd' => ['num' => '4',]]]; $this->assign('list', $multiArr); $this->display();}
打印出来的格式如下:
Array( [0] => Array ( [a] => Array ( [num] => 1 ) [b] => Array ( [num] => 2 ) ) [1] => Array ( [c] => Array ( [num] => 3 ) [d] => Array ( [num] => 4 ) ))
很明显,这是一个多重数组。如果想得到他们的key值,如果使用volist,代码如下:
<tr> <volist name="list" id="data" key="k"> <td>{$k}</td> <td> <tr> <volist name="data" id="vo"> <td>{$key}</td> <td>{$vo.num}</td> </volist> </tr> </td> </volist></tr>
得到的结果如下:
1a 1 b 22c 3 d 4
在这里,很明显,外重的循环的key值是系统默认的,而里面的这一重循环出来的key值是由数据本身决定的而不是由循环控制的。
http://document.thinkphp.cn/manual_3_2.html#volist
在Thinkphp手册里面,这个说的很清楚。如果到这里,没其他的要求的话,其实可以满足大多数输出key值的要求了。但是如果数组改成下面的格式:
$multiArr = [ 'aaa' => [ 'a' => [ 'num' => '1', ], 'b' => [ 'num' => '2', ] ], 'bbb' => [ 'c' => [ 'num' => '3', ], 'd' => [ 'num' => '4', ] ] ];
并且此时,外重循环出的key值和内层循环出的key值均由数据本身决定,而不是循环控制的,那该怎么处理呢?好吧,当时走入误区了,一直想用两个volist进行循环,然后输出key值(它由数据本身决定),但是尝试了好久,发现还是不行。查阅了不少的资料,发现好多都没有讲到这个问题。谋杀了无数脑细胞,看着代码,突然想到,foreach也可以进行这种循环操作,为啥不尝试用这个标签呢?或者把这两个标签结合起来使用呢?顿时,豁然开朗。于是,把前端的代码改成如下:
<tr> <foreach name="list" item="data" key="i"> <td>{$i}</td> <td> <tr> <volist name="data" id="vo" key="k"> <td>{$key}</td> <td>{$vo.num}</td> </volist> </tr> </td> </foreach></tr>
得到的结果如下:
aaaa 1 b 2bbbc 3 d 4
满足了上面的要求。总结如下:
在thinkphp中,用volist标签进行多重数组循环输出的时候,若想输出由数据控制的key值,而不是默认的,可以把foreach标签和volist标签结合起来使用,就能原样输出key值了。
下载链接:网站源码/小程序源码/网站模板下载
下载排行
- WordPress网址导航源码全局自适应手机端网站导航简约风主题模板
- 游戏陪玩语音聊天系统3.0商业升级独立版本源码
- 游戏交易平台系统源码下载 网络游戏币、装备、账号、道具等交易网站源码
- 幸运九宫格抽奖系统带后台源码
- RiPro8.7免授权版+极致子主题破解版jizhi-chlid-v5.6-zhankr/WordPress主题模板
- ThinkPHP内核区块羊投资源码/支持预约、转让 领养、抽奖等等功能/全开源可二开
- 苹果cms v10仿赞片网PC模板源码
- 大气通用的房地产集团网站首页静态HTML模板
- 智力测试情商测试小程序源码/带流量主提升智力微信小程序源码
- WordPress导航主题/酷啦鱼导航主题模板