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 相关文章推荐
PHP中通过加号合并数组的一个简单方法分享
Jan 27 PHP
php防注入及开发安全详细解析
Aug 09 PHP
怎么在Windows系统中搭建php环境
Aug 31 PHP
PHP中使用CURL模拟登录并获取数据实例
Jul 01 PHP
PHP开发框架kohana3 自定义路由设置示例
Jul 14 PHP
19个Android常用工具类汇总
Dec 30 PHP
PHP的Yii框架的常用日志操作总结
Dec 08 PHP
php session实现多级目录存放实现代码
Feb 03 PHP
PHP获取网页所有连接的方法(附demo源码下载)
Mar 30 PHP
PHP开发制作一个简单的活动日程表Calendar
Jun 20 PHP
解决微信授权回调页面域名只能设置一个的问题
Dec 11 PHP
php魔法函数与魔法常量使用介绍
Jul 23 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
php 根据自增id创建唯一编号类
2017/04/06 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
Jquery css函数用法(判断标签是否拥有某属性)
2011/05/28 Javascript
jQuery中ajax的使用与缓存问题的解决方法
2013/12/19 Javascript
JS中FRAME的操作问题实例分析
2014/10/21 Javascript
浅谈javascript中createElement事件
2014/12/05 Javascript
自定义百度分享的分享按钮
2015/03/18 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
JS实现适合于后台使用的动画折叠菜单效果
2015/09/21 Javascript
js闭包引起的事件注册问题介绍
2016/03/29 Javascript
BootStrap中
2016/12/10 Javascript
JavaScript实现二分查找实例代码
2017/02/22 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
2017/03/13 Javascript
JavaScript实现的拼图算法分析
2019/02/13 Javascript
javascript面向对象三大特征之多态实例详解
2019/07/24 Javascript
微信小程序进入广告实现代码实例
2019/09/19 Javascript
Python中zip()函数用法实例教程
2014/07/31 Python
详解Python的Django框架中的中间件
2015/07/24 Python
python实现ID3决策树算法
2018/08/29 Python
python xpath获取页面注释的方法
2019/01/14 Python
Python抓包程序mitmproxy安装和使用过程图解
2020/03/02 Python
Python 实现打印单词的菱形字符图案
2020/04/12 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
Python3爬虫关于识别检验滑动验证码的实例
2020/07/30 Python
Scrapy项目实战之爬取某社区用户详情
2020/09/17 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
解决pytorch下出现multi-target not supported at的一种可能原因
2021/02/06 Python
HTML5 与 XHTML2
2008/10/17 HTML / CSS
美国大城市最热门旅游景点门票:CityPASS
2016/12/16 全球购物
幼儿园实习生辞职信
2014/01/20 职场文书
2014年教师节寄语
2014/04/03 职场文书
和解协议书
2014/04/16 职场文书
中秋晚会策划方案
2014/06/12 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书
eclipse创建项目没有dynamic web的解决方法
2021/06/24 Java/Android
pytorch实现加载保存查看checkpoint文件
2022/07/15 Python