thinkphp嵌套循环数组外层可以读取到,里面一层读不到数据,数组里有值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp嵌套循环数组外层可以读取到,里面一层读不到数据,数组里有值相关的知识,希望对你有一定的参考价值。

这是控制器代码 Public function index() $topCate=M('cate')->where(array('pid'=>0))->order('sort')->select(); import('Class.Category',APP_PATH); $cate=M('cate')->order('sort')->select(); $db=M('blog'); $field=array('id','title','time'); foreach($topCate as $k=>$v) $cids=Category::getChildsId($cate,$v['id']); $cids[]=$v['id']; $where=array('cid'=>array('IN',$cids)); $topCate[$k]['blog']=$db->field($field)->where($where)->select(); dump($topCate); $this->cate=$topCate; $this->display();

参考技术A <volist name="cate" id="vo">
    $vo.name<br/>
    <volist name="vo['blog']" id="sub">
        $sub.title
    </volist>
</volist>
name="vo.blog" 改为 name="vo['blog']" 
你试下 希望能帮到你

追问

没用的我试过了还是只显示顶级分类,子分类里的内容无法读取!

追答

那你把 $sub['title'] 这样也试过了吗

追问

可以确定不是符号问题,今天试了试原生代码,一样的效果

thinkphp怎么让循环volist除去最后一次

volist循环中有一个$key参数是从0开始递增到循环结束的,可以利用这个判断下是否到最后一个了,到最后一个不输出 参考技术A 如果你知道遍历的内容长度的话,可以设置volist的offset和length来限制长度,不然的话只能在后台的数据操作中,通过重新构建数组,剔除最后的内容再传给页面 参考技术B 只能在php后台来写吧 ,写在模版上容易出问题的

以上是关于thinkphp嵌套循环数组外层可以读取到,里面一层读不到数据,数组里有值的主要内容,如果未能解决你的问题,请参考以下文章

5.2多重循环和二维数组

如何在一个循环执行ajax方法里面嵌套的ajax方法

两个for循环执行顺序

在java中,如何跳出当前的嵌套循环

Java for 嵌套循环

thinkphp怎么输出数组