ThinkPHP模板Volist标签嵌套循环输出多维数组的方法


Posted in PHP onMarch 23, 2016

本文实例讲述了ThinkPHP模板Volist标签嵌套循环输出多维数组的方法。分享给大家供大家参考,具体如下:

ThinkPHP 中对 volist 标签嵌套使用可实现多维数组的输出。

volist 嵌套使用

一般的二维数组,可以用 volist 标签直接循环输出。对于多维数组,则需要对其中的数组成员再次使用 volist 标签嵌套循环输出。

构建一个多维数组:

$food = array();
$food[0]['fruits'][0]['fruits1'] = '苹果1';
$food[0]['fruits'][0]['fruits2'] = '桔子1';
$food[0]['fruits'][0]['fruits3'] = '香蕉1';
$food[0]['vegetables'] = '白菜1';
$food[1]['fruits'][1]['fruits1'] = '苹果2';
$food[1]['fruits'][1]['fruits2'] = '桔子2';
$food[1]['fruits'][1]['fruits3'] = '香蕉2';
$food[1]['vegetables'] = '白菜2';

使用 print_r() 函数打印出该数组如下:

Array
(
  [0] => Array
    (
      [fruits] => Array
        (
          [0] => Array
            (
              [fruits1] => 苹果1
              [fruits2] => 桔子1
              [fruits3] => 香蕉1
            )
        )
      [vegetables] => 白菜1
    )
  [1] => Array
    (
      [fruits] => Array
        (
          [1] => Array
            (
              [fruits1] => 苹果2
              [fruits2] => 桔子2
              [fruits3] => 香蕉2
            )
        )
      [vegetables] => 白菜2
    )
)

在对应模块操作(如Index/display)里将变量赋值给模板,并将模板输出:

$this->assign( "food", $food );
$this->display();

模板 Tpl/default/Index/display.html :

<p>食物品种:</p><br />
<volist name="food" id="vo">
 <volist name="vo['fruits']" id="f">
 <p>水果1:{$f['fruits1']}</p>
 <p>水果2:{$f['fruits2']}</p>
 <p>水果3:{$f['fruits3']}</p>
 </volist>
 <p>蔬菜:{$vo['vegetables']}</p><br />
</volist>

在模板里面,首先将 $food 变量进行循环输出。由于 $food 数组的成员 fruits 也是一个数组,因此再对 $vo['fruits'] 变量进行循环输出(注意没有 $ 符号)。

输出结果如下:

食物品种:

水果1:苹果1
水果2:桔子1
水果3:香蕉1
蔬菜:白菜1

水果1:苹果2
水果2:桔子2
水果3:香蕉2
蔬菜:白菜2

同理推之以此方法可以对更多维的数组进行循环输出。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
建立文件交换功能的脚本(三)
Oct 09 PHP
php生成EXCEL的东东
Oct 09 PHP
php打印一个边长为N的实心和空心菱型的方法
Mar 02 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
Aug 21 PHP
php数组函数array_walk用法示例
May 26 PHP
Netbeans 8.2将支持PHP7 更精彩
Jun 13 PHP
PHP中session跨子域的三种实现方法
Jul 25 PHP
php封装的表单验证类完整实例
Oct 19 PHP
PHP单例模式定义与使用实例详解
Feb 06 PHP
Laravel使用消息队列需要注意的一些问题
Dec 13 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 PHP
PHP实现抽奖功能实例代码
Jun 30 PHP
ThinkPHP路由机制简介
Mar 23 #PHP
PHP getallheaders无法获取自定义头(headers)的问题
Mar 23 #PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
Mar 23 #PHP
SSO单点登录的PHP实现方法(Laravel框架)
Mar 23 #PHP
Zend Framework开发入门经典教程
Mar 23 #PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
Mar 23 #PHP
Zend Framework教程之Zend_Config_Ini用法分析
Mar 23 #PHP
You might like
索尼ICF-SW100收音机评测
2021/03/02 无线电
一个阿拉伯数字转中文数字的函数
2006/10/09 PHP
解析WordPress中函数钩子hook的作用及基本用法
2015/12/22 PHP
js 输出内容到新窗口具体实现代码
2013/05/31 Javascript
基于JavaScript 下namespace 功能的简单分析
2013/07/05 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
javascript中打印当前的时间实现思路及代码
2013/12/18 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
2014/08/22 Javascript
jQuery判断多个input file 都不能为空的例子
2015/06/23 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
如何防止JavaScript自动插入分号
2015/11/05 Javascript
javascript适合移动端的日期时间拾取器
2015/11/10 Javascript
TypeScript入门-接口
2017/03/30 Javascript
基于vue的换肤功能的示例代码
2017/10/10 Javascript
微信小程序学习总结(五)常见问题实例小结
2020/06/04 Javascript
VUE中V-IF条件判断改变元素的样式操作
2020/08/09 Javascript
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
简洁的十分钟Python入门教程
2015/04/03 Python
Python中在脚本中引用其他文件函数的实现方法
2016/06/23 Python
老生常谈Python进阶之装饰器
2017/05/11 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
2019/05/15 Python
Python 3.8正式发布重要新功能一览
2019/10/17 Python
详解Python实现进度条的4种方式
2020/01/15 Python
python离线安装外部依赖包的实现
2020/02/13 Python
opencv+python实现均值滤波
2020/02/19 Python
python统计字符串中字母出现次数代码实例
2020/03/02 Python
泰国汽车、火车和轮渡票预订网站:Bus Online Ticket
2017/09/09 全球购物
英国珠宝钟表和家居礼品精品店:David Shuttle
2018/02/24 全球购物
高中生家长会演讲稿
2014/01/14 职场文书
愚人节活动策划方案
2014/03/11 职场文书
学校纪律作风整改措施思想汇报
2014/10/11 职场文书
离职感谢信
2015/01/21 职场文书
亮剑精神观后感
2015/06/05 职场文书
重阳节简报
2015/07/20 职场文书
Windows下redis下载、redis安装及使用教程
2021/06/02 Redis
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers