普信信息安全的研究领域域有哪些

ThinkPHP学习(四)volist标签高级应用之多重嵌套循环
Action代码:
public function index(){
$prod = I("get.prod_en");
$id = I("get.id", 0, "int");
if ($prod == ""){
$serviceProduct = array();//多重循环遍历的数组//数据保存在两张表中,这里通过循环初始化$serviceProduct数组
$service = M("product_class")->order("oid ASC")->select();
for ($i = 0; $i $service[$i]["pc_cn"], "product"=>M("product")->where("prod_class_id=".$service[$i]["pcid"])->order("oid ASC")->select()));
}//如果要在模板中输出变量,必须在在控制器中把变量传递给模板,提供了assign方法对模板变量赋
值,无论何种变量类型都统一使用assign赋值。
$this->assign("serviceProduct", $serviceProduct);
$this->display();
if ($id > 0){
$this->display("detail");
$this->assign('prod_en', $prod);
$clsList = M("question_class")->order("oid ASC")->select();
$this->assign('clsList', $clsList);
$qusList = M("question")->order("oid ASC")->select();
$this->assign('qusList', $qusList);
$this->display("list");
}模板代码:
{$sp.srvName}
当使用多重嵌套循环时,需要为每一个volist指定key值,通过判断是否为数组中的最后一个元素。求助 volist嵌套循环问题 - ThinkPHP框架
数组数据array(2)&{
&&[1951]=&
&&array(11)&{
&&&&[&id&]=&
&&&&string(1)&&3&
&&&&[&stu_name&]=&
&&&&string(9)&&伟&
&&&&[&ann_title&]=&
&&&&string(25)&&通知&
&&&&[&grade&]=&
&&&&[&team_id&]=&
&&&&string(4)&&1951&
&&&&[&nopass_num&]=&
&&&&string(1)&&0&
&&&&[&doc_state&]=&
&&&&string(1)&&0&
&&&&[&doc_remark&]=&
&&&&[&doc_desc&]=&
&&&&[&check_tea_name&]=&
&&&&[&name&]=&
&&&&array(2)&{
&&&&&&[0]=&
&&&&&&array(10)&{
&&&&&&&&[&id&]=&
&&&&&&&&string(1)&&3&
&&&&&&&&[&stu_name&]=&
&&&&&&&&string(9)&&伟&
&&&&&&&&[&ann_title&]=&
&&&&&&&&string(25)&&通知&
&&&&&&&&[&grade&]=&
&&&&&&&&NULL
&&&&&&&&[&team_id&]=&
&&&&&&&&string(4)&&1951&
&&&&&&&&[&nopass_num&]=&
&&&&&&&&string(1)&&0&
&&&&&&&&[&doc_state&]=&
&&&&&&&&string(1)&&0&
&&&&&&&&[&doc_remark&]=&
&&&&&&&&NULL
&&&&&&&&[&doc_desc&]=&
&&&&&&&&NULL
&&&&&&&&[&check_tea_name&]=&
&&&&&&&&NULL
&&&&&&}直接在第一个volist中用下面的代码可以获取到值{$vo['name'][2]['ann_title']}但是在嵌套volist的时候无法获取到数据
嵌套部分代码如下:&volist&name=&$vo['name']&&&id=&nvo&&empty=&暂没有数据&&无法获取到{$nvo['id']}的数据
望各位出招 感激不尽
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。当你的才华还撑不起你的野心时,那你就应该静下心来学习。
thinkphp volist循环嵌套if标签判断
今天用volist循环嵌套if标签判断的时候,if判断不能成功,报错,如下示例:
&volist name="list" id="vo"&
&volist name="slist" id="s"&
&if condition="$s.sid eq $vo.id"&
内容。。。。。
&volist name="list" id="vo"&&volist name="slist" id="s"&&if condition="$s.sid eq $vo.id"&内容。。。。。&/if&&/volist&&/volist&
如果if语句像上面那样写,数据永远也取不出来,因为condition里面写的是PHP原生代码,所以如果是数组要换成中括号的写法,将IF语里的condition表达式换成:$s[‘id’] eq $vo.sid
或者:$s[‘id’] eq $vo[‘sid’],当前的volist的值可不用换成PHP原生数组的形式,上一级的换就OK,也可两个都换成原生数组的形式进行比较。以下是正确代码:
&volist name="list" id="vo"&
&volist name="slist" id="s"&
&if condition="$s.sid eq $vo['id']"&
//或者&if condition="$s['sid'] eq $vo['id']"&
内容。。。。。
&volist name="list" id="vo"&&volist name="slist" id="s"&&if condition="$s.sid eq $vo['id']"&&& //或者&if condition="$s['sid'] eq $vo['id']"&内容。。。。。&/if&&/volist&&/volist&
转载:http://www./program/535.html
共享此文章:ThinkPHP是一个开源的PHP框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。ThinkPHP可以支持windows/Unix/Liunx等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite以及PDO等多种数据库
这篇文章主要介绍了ThinkPHP模板Volist标签嵌套循环输出多维数组的方法,结合实例形式详细分析了Volist标签嵌套调用输出多维数组的相关技巧,需要的朋友可以参考下
本文实例讲述了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() 函数打印出该数组如下:
[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&
&p&蔬菜:{$vo['vegetables']}&/p&&br /&
在模板里面,首先将 $food 变量进行循环输出。由于 $food 数组的成员 fruits 也是一个数组,因此再对 $vo['fruits'] 变量进行循环输出(注意没有 $ 符号)。
输出结果如下:
食物品种:
水果1:苹果1
水果2:桔子1
水果3:香蕉1
蔬菜:白菜1
水果1:苹果2
水果2:桔子2
水果3:香蕉2
蔬菜:白菜2
同理推之以此方法可以对更多维的数组进行循环输出。
Copyright &
All Rights Reserved &&&&&&

我要回帖

更多关于 电子信息工程研究领域 的文章

 

随机推荐