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 相关文章推荐
查找mysql字段中固定字符串并替换的几个方法
Sep 23 PHP
php汉字转拼音的示例
Feb 27 PHP
PHP把MSSQL数据导入到MYSQL的方法
Dec 27 PHP
thinkphp中字符截取函数msubstr()用法分析
Jan 09 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
Feb 27 PHP
PHP常用的三种设计模式
Feb 17 PHP
php+redis消息队列实现抢购功能
Feb 08 PHP
php+redis实现商城秒杀功能
Nov 19 PHP
php关联数组与索引数组及其显示方法
Mar 12 PHP
phpfpm的作用和用法
Oct 10 PHP
laravel 时间格式转时间戳的例子
Oct 11 PHP
深入理解PHP+Mysql分布式事务与解决方案
Dec 03 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异常处理技术,顶级异常处理器
2012/06/13 PHP
ThinkPHP模板Switch标签用法示例
2014/06/30 PHP
PHP控制反转(IOC)和依赖注入(DI)
2017/03/13 PHP
PHP命令空间namespace及use的用法小结
2017/11/27 PHP
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
jquery实现简单实用的打分程序实例
2015/07/23 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
js 性能优化之算法和流程控制
2017/02/15 Javascript
JS实现去除数组中重复json的方法示例
2017/12/21 Javascript
python使用xlrd模块读写Excel文件的方法
2015/05/06 Python
Python中的rjust()方法使用详解
2015/05/19 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
Python读写/追加excel文件Demo分享
2018/05/03 Python
Python检查ping终端的方法
2019/01/26 Python
Python面向对象总结及类与正则表达式详解
2019/04/18 Python
结合OpenCV与TensorFlow进行人脸识别的实现
2019/10/10 Python
Python命令行click参数用法解析
2019/12/19 Python
python Canny边缘检测算法的实现
2020/04/24 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
2020/07/03 Python
python与js主要区别点总结
2020/09/13 Python
瑞典时尚服装购物网站:Miinto.se
2017/10/30 全球购物
世界上最受欢迎的花店:1-800-Flowers.com
2020/06/01 全球购物
sort命令的作用和用法
2013/08/25 面试题
护理学中专毕业生求职信
2013/11/11 职场文书
策划创业计划书
2014/02/06 职场文书
向领导表决心的话
2014/03/11 职场文书
出国英文推荐信
2014/05/10 职场文书
2014年教师节寄语
2014/08/11 职场文书
一次性工伤赔偿协议书范本
2014/11/25 职场文书
侵犯商业秘密的律师函
2015/05/27 职场文书
运动会广播稿50字
2015/08/19 职场文书
小学生节约用水倡议书
2019/08/12 职场文书
深入理解Pytorch微调torchvision模型
2021/11/11 Python
SQL Server数据库查询出现阻塞之性能调优
2022/04/10 SQL Server