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 相关文章推荐
Breeze 文章管理系统 v1.0.0正式发布
Dec 14 PHP
PHP中防止SQL注入攻击和XSS攻击的两个简单方法
Apr 15 PHP
深入for,while,foreach遍历时间比较的详解
Jun 08 PHP
用 Composer构建自己的 PHP 框架之基础准备
Oct 30 PHP
详解PHP匿名函数与注意事项
Mar 29 PHP
php封装的表单验证类完整实例
Oct 19 PHP
form表单传递数组数据、php脚本接收的实例
Feb 09 PHP
YII2框架中使用yii.js实现的post请求
Apr 09 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
Jun 07 PHP
PHP读取目录树的实现方法分析
Mar 22 PHP
tp5 sum某个字段相加得到总数的例子
Oct 18 PHP
HTTP头隐藏PHP版本号实现过程解析
Dec 09 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
PHP4.04简明安装
2006/10/09 PHP
PHP 面向对象 PHP5 中的常量
2010/05/05 PHP
php定义一个参数带有默认值的函数实例分析
2015/03/16 PHP
利用PHP如何写APP接口详解
2016/08/23 PHP
Django中的cookie与session操作实例代码
2017/08/17 PHP
php字符串截取函数mb_substr用法实例分析
2019/06/25 PHP
PHP创建XML接口示例
2019/07/04 PHP
js实时监听文本框状态的方法
2011/04/26 Javascript
js调用浏览器打印模块实现点击按钮触发自定义函数
2014/03/21 Javascript
javascript判断复选框是否选中的方法
2015/10/16 Javascript
jQuery+formdata实现上传进度特效遇到的问题
2016/02/24 Javascript
如何用js实现鼠标向上滚动时浮动导航
2016/07/18 Javascript
Servlet实现文件上传,可多文件上传示例
2016/12/05 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
zTree实现节点修改的实时刷新功能
2017/03/20 Javascript
在Vue中使用Compass的方法
2018/03/02 Javascript
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
nuxt 路由、过渡特效、中间件的实现代码
2020/11/06 Javascript
使用Python获取CPU、内存和硬盘等windowns系统信息的2个例子
2014/04/15 Python
用Python实现换行符转换的脚本的教程
2015/04/16 Python
详细解读tornado协程(coroutine)原理
2018/01/15 Python
基于scrapy的redis安装和配置方法
2018/06/13 Python
python的继承知识点总结
2018/12/10 Python
Python实现的线性回归算法示例【附csv文件下载】
2018/12/29 Python
通过shell+python实现企业微信预警
2019/03/07 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
2019/05/13 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
2020/05/07 Python
技校教师求职简历的自我评价
2013/10/20 职场文书
智能电子应届生求职信
2013/11/10 职场文书
《火烧云》教学反思
2014/04/12 职场文书
志愿者活动总结范文
2014/04/26 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
保证书格式
2015/01/16 职场文书
苦儿流浪记读书笔记
2015/07/01 职场文书
TV动画《神废柴☆偶像》公布先导PV
2022/03/20 日漫