Thinkphp volist多重循环原样输出数组key值

下面由thinkphp框架开发栏目给大家介绍Thinkphp volist多重循环原样输出数组key值的使用总结,希望对需要的朋友有所帮助!

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,代码如下:

{$k}{$key}{$vo.num}

得到的结果如下:

立即学习“PHP免费学习笔记(深入)”;

1a   1   b   22c   3   d   4

在这里,很明显,外重的循环的key值是系统默认的,而里面的这一重循环出来的key值是由数据本身决定的而不是由循环控制的。

http://document.thinkphp.cn/manual_3_2.html#volist

在Thinkphp手册里面,这个说的很清楚。如果到这里,没其他的要求的话,其实可以满足大多数输出key值的要求了。但是如果数组改成下面的格式:

降重鸟 降重鸟

要想效果好,就用降重鸟。AI改写智能降低AIGC率和重复率。

降重鸟 113 查看详情 降重鸟

$multiArr = [            'aaa' => [                'a' => [                    'num' => '1',                ],                'b' => [                    'num' => '2',                ]            ],            'bbb' => [                'c' => [                    'num' => '3',                ],                'd' => [                    'num' => '4',                ]            ]        ];

并且此时,外重循环出的key值和内层循环出的key值均由数据本身决定,而不是循环控制的,那该怎么处理呢?好吧,当时走入误区了,一直想用两个volist进行循环,然后输出key值(它由数据本身决定),但是尝试了好久,发现还是不行。查阅了不少的资料,发现好多都没有讲到这个问题。谋杀了无数脑细胞,看着代码,突然想到,foreach也可以进行这种循环操作,为啥不尝试用这个标签呢?或者把这两个标签结合起来使用呢?顿时,豁然开朗。于是,把前端的代码改成如下:

                     {$i}                                                            {$key}                    {$vo.num}                                                    

得到的结果如下:

立即学习“PHP免费学习笔记(深入)”;

aaaa   1   b   2bbbc   3   d   4

满足了上面的要求。总结如下:

在thinkphp中,用volist标签进行多重数组循环输出的时候,若想输出由数据控制的key值,而不是默认的,可以把foreach标签和volist标签结合起来使用,就能原样输出key值了。

以上就是Thinkphp volist多重循环原样输出数组key值的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/356039.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月6日 00:37:29
下一篇 2025年11月6日 00:42:56

相关推荐

发表回复

登录后才能评论
关注微信