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来处理多个提交任务
May 08 PHP
ThinkPHP中实例Model方法的区别说明
Aug 21 PHP
学习php笔记 字符串处理
Oct 19 PHP
php实现分页工具类分享
Jan 09 PHP
php面向对象中static静态属性和静态方法的调用
Feb 08 PHP
php实现的Curl封装类Curl.class.php用法实例分析
Sep 25 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
Mar 01 PHP
PHP二分查找算法示例【递归与非递归方法】
Sep 29 PHP
thinkPHP微信分享接口JSSDK用法实例
Jul 07 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
Mar 31 PHP
php中用unset销毁变量并释放内存
May 10 PHP
PHP获取当前时间不准确问题解决方案
Aug 14 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入门基础之php代码写法
2011/12/30 PHP
PHP中PCRE正则解析代码详解
2019/04/26 PHP
java解析json方法总结
2019/05/16 PHP
基于ThinkPHP删除目录及目录文件函数
2020/10/28 PHP
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
jQuery技巧总结
2011/01/01 Javascript
JavaScript中的style.display属性操作
2013/03/27 Javascript
如何学习Javascript入门指导
2013/11/01 Javascript
angularJS 入门基础
2015/02/09 Javascript
js中window.open的参数及注意注意事项
2016/07/06 Javascript
jQuery简单入门示例之用户校验demo示例
2016/07/09 Javascript
最丑的时钟效果!js canvas时钟制作方法
2016/08/15 Javascript
vue router-link传参以及参数的使用实例
2017/11/10 Javascript
微信小程序使用form表单获取输入框数据的实例代码
2018/05/17 Javascript
使用validate.js实现表单数据提交前的验证方法
2018/09/04 Javascript
vue中的过滤器及其时间格式化问题
2020/04/09 Javascript
JavaScript中作用域链的概念及用途讲解
2020/08/06 Javascript
[01:03:37]Secret vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
python爬虫常用的模块分析
2014/08/29 Python
Python使用cx_Oracle模块操作Oracle数据库详解
2018/05/07 Python
Flask之flask-session的具体使用
2018/07/26 Python
pytorch-神经网络拟合曲线实例
2020/01/15 Python
Django自带用户认证系统使用方法解析
2020/11/12 Python
详解HTML5中表单验证的8种方法介绍
2016/12/19 HTML / CSS
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
Sephora丝芙兰泰国官方网站:国际知名化妆品购物
2017/11/15 全球购物
美国最好的钓鱼、狩猎和划船装备商店:Bass Pro Shops
2018/12/02 全球购物
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
沙特阿拉伯排名第一的在线时尚购物应用程序:1Zillion
2020/08/08 全球购物
会计电算化学生个人的自我评价
2014/02/08 职场文书
销售助理岗位职责
2015/02/11 职场文书
2015年事业单位工作总结
2015/04/27 职场文书
护士岗位竞聘书
2015/09/15 职场文书
交通安全学习心得体会
2016/01/18 职场文书
Python torch.flatten()函数案例详解
2021/08/30 Python
浅谈Redis 中的过期删除策略和内存淘汰机制
2022/04/03 Redis