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 模板 Volist 标签嵌套循环输出多维数组的更多相关文章

  1. thinkPHP volist标签循环输出多维数组

    <volist name="company" id="vo">{$vo.company_name}<volist name="vo[ ...

  2. thinkphp中volist标签

    volist标签 volist标签主要用于在模板中循环输出数据集或者多维数组 volist(name,id,offset,length,key,mod,empty) name(必须):要输出的数据模型 ...

  3. Thinkphp的Volist标签

    Volist标签主要用于在模板中循环输出数据集或者多维数组. volist标签(循环输出数据) 闭合 非闭合标签 属性 name(必须):要输出的数据模板变量 id(必须):循环变量 offset(可 ...

  4. (转) ThinkPHP模板自定义标签使用方法

    这篇文章主要介绍了ThinkPHP模板自定义标签使用方法,需要的朋友可以参考下  转之--http://www.jb51.net/article/51584.htm   使用模板标签可以让网站前台开发 ...

  5. ThinkPHP模板IF标签用法详解

    投稿:shichen2014 字体:[增加 减小] 类型:转载 时间:2014-07-01 我要评论 这篇文章主要介绍了ThinkPHP模板IF标签用法,需要的朋友可以参考下 ThinkPHP的IF标 ...

  6. ajax向前台输出二维数组 并解析

    最近在弄一个售后数据统计的功能,里边需要统计特定时期内各种客户.机型的分布比例,单单table来计算并显示很死板(一点也不酷) 于是决定用jquery插件flot并通过ajax传输数据 :flot的折 ...

  7. 功能要求:定义一个两行三列的二维数组 names 并赋值,使用二重循环输出二维数组中的元素。

    功能要求:定义一个两行三列的二维数组 names 并赋值,使用二重循环输出二维数组中的元素 names={{"tom","jack","mike&qu ...

  8. ThinkPHP学习 volist标签高级应用之多重嵌套循环、隔行变色(转)

    Action代码: public function index(){ $prod = I("get.prod_en"); $id = I("get.id", 0 ...

  9. PHP 学习笔记之一:thinkPHP的volist标签

    Volist标签主要用于在模板中循环输出数据集或者多维数组. 属性: name : 必须,输出数据模板变量,后台提供的变量. id : 必须,是循环变量,可以随便定义,但是不能跟name相同. 举个栗 ...

随机推荐

  1. Jenkins +JUnit

    转载:https://www.cnblogs.com/helloIT/p/5761740.html 1.环境 windows10 专业版 Jenkins 2.7 apache-ant-1.9.6 JD ...

  2. 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-如何修改代码字体

    工具-选项   TwinCAT,PLC Environment,Text editor,然后在文本区域中修改字体     更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i. ...

  3. Tomcat性能调整完整教程

    Tomcat性能调整完整教程 发表于:2007-07-13来源:作者:点击数:526 标签: 一. 引言 性能测试与分析是软件 开发 过程中介于架构和调整的一个广泛并比较不容易理解的领域,更是一项较为 ...

  4. 关于Future.cancel(mayInterruptIfRunning)方法的参数的问题

    mayInterruptIfRunning设成false话,不允许在线程运行时中断,设成true的话就允许. 可以参考下面的代码来理解,如果设为false的话,会打印到99999,如果设成true的话 ...

  5. WebBrowser.ExecWB

      CreateTime--2017年9月22日16:30:10 Author:Marydon js操作浏览器的ExecWB命令 一.准备工作: 以ie浏览器为例,需要更改IE安全级别为:" ...

  6. 准备你的Adempiere开发环境(2)- 安装

    1. 用pgAdmin III创建用户adempiere/adempiere:2. 创建adempiere360数据库:3. 导入<ADEMPIERE_HOME>\data\Adempie ...

  7. Android 6.0 超级简单的权限申请 (Permission)

    代码地址如下:http://www.demodashi.com/demo/13369.html 背景描述 随着Android系统的不断升级,谷歌对用户的隐私是越来越注重了,给我们开发者带来了更多的繁琐 ...

  8. 【Shiro】Apache Shiro架构之自定义realm

    [Shiro]Apache Shiro架构之身份认证(Authentication) [Shiro]Apache Shiro架构之权限认证(Authorization) [Shiro]Apache S ...

  9. 【转载】XGBoost调参

    General Parameters: Guide the overall functioning Booster Parameters: Guide the individual booster ( ...

  10. phpexcel 读取日期的问题?

    phpexcel 读取excel数字时,显示为一串数字(时间都是类似于这样的数字:41890.620138889),如何将数字转换为对应的日期来显示呢?特别是例如星期一这种的时间. 可以用phpexc ...