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 文件缓存的性能测试
Apr 25 PHP
无需重新编译php加入ftp扩展的解决方法
Feb 07 PHP
php合并js请求的例子
Nov 01 PHP
PHP 正则表达式常用函数
Aug 17 PHP
简单说说PHP优化那些事(经验分享)
Nov 27 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
Dec 16 PHP
PHP学习笔记(二):变量详解
Apr 17 PHP
php实现微信分享朋友链接功能
Feb 18 PHP
Thinkphp自定义生成缩略图尺寸的方法
Aug 05 PHP
PHP中Session ID的实现原理实例分析
Aug 17 PHP
PHP开发api接口安全验证操作实例详解
Mar 26 PHP
如何通过Apache在本地配置多个虚拟主机
Jul 29 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的库,结果发现很多东西
2006/12/31 PHP
利用PHP生成静态HTML文档的原理
2012/10/29 PHP
PHP类继承 extends使用介绍
2014/01/14 PHP
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
javascript运行机制之this详细介绍
2014/02/07 Javascript
jquery中each遍历对象和数组示例
2014/08/05 Javascript
jQuery弹出框代码封装DialogHelper
2015/01/30 Javascript
JavaScript使用function定义对象并调用的方法
2015/03/23 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
2017/03/06 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
利用js编写网页进度条效果
2017/10/08 Javascript
element ui 对话框el-dialog关闭事件详解
2018/02/26 Javascript
修改vue+webpack run build的路径方法
2018/09/01 Javascript
webpack的tree shaking的实现方法
2019/09/18 Javascript
通过layer实现可输入的模态框的例子
2019/09/27 Javascript
JS实现前端动态分页码代码实例
2020/06/02 Javascript
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
Python中的yield浅析
2014/06/16 Python
python写入中英文字符串到文件的方法
2015/05/06 Python
python字典DICT类型合并详解
2017/08/17 Python
python 删除大文件中的某一行(最有效率的方法)
2017/08/19 Python
Python切片操作去除字符串首尾的空格
2019/04/22 Python
Python更新所有已安装包的操作
2020/02/13 Python
OpenCV+python实现实时目标检测功能
2020/06/24 Python
使用Python实现微信拍一拍功能的思路代码
2020/07/09 Python
基于Python的一个自动录入表格的小程序
2020/08/05 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
2020/09/01 Python
使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)
2013/01/06 HTML / CSS
Html5 Canvas实现图片标记、缩放、移动和保存历史状态功能 (附转换公式)
2020/03/18 HTML / CSS
小天鹅官方商城:LittleSwan
2017/06/16 全球购物
全球立体声:World Wide Stereo
2018/09/29 全球购物
自我鉴定怎么写
2013/12/05 职场文书
大课间活动制度
2014/01/18 职场文书
小学庆六一活动方案
2014/02/28 职场文书
怎样拟定创业计划书
2014/05/01 职场文书
仰望星空观后感
2015/06/10 职场文书