本帖最后由 cngdjws 于 2013-12-02 22:31:49 编辑

解决方案 »

  1.   

    [code=php]
    foreach ($category as $v)      
    {     
        //查找所有分类栏目
        if($v->type === '0')      
        {$type[] = $v;}
        elseif($v->id == $id)
        {//这里面写你的第二个foreach}
        elseif($v->parentid == $fid)
        {//这里面写你的第三个foreach 依次类推}   
    }     
    [code]
      

  2.   

    可以尝试将foreach 转换hast array的访问试,我测试过,在一定数量背景下,约有10位的性能提升。
      

  3.   

    46 行的 if($v->parentid == $fid)
    始终判断的是是否为 $category 中的最后一个非0的 parentid
    这个逻辑有点奇怪请先理清思路
      

  4.   


    打印一下:$category 接收到值!!! 这里只传3条记录其实后台记录很多array (size=7)
      0 => 
        object(stdClass)[17]
          public 'id' => string '55' (length=2)
          public 'parentid' => string '0' (length=1)
          public 'catname' => string '新闻资讯' (length=12)
          public 'type' => string '0' (length=1)
          public 'picture' => null
          public 'describe' => null
          public 'recommend' => string '0' (length=1)
          public 'domain' => null
          public 'hits' => string '0' (length=1)
          public 'listorder' => string '0' (length=1)
          public 'arturl' => null
          public 'caturl' => null
          public 'skipurl' => null
          public 'model_id' => string '1' (length=1)
          public 'title' => null
          public 'keywords' => null
          public 'description' => null
          public 'cathtml' => string '0' (length=1)
          public 'arthtml' => string '0' (length=1)
          public 'head_tpl' => null
          public 'footer_tpl' => null
          public 'list_tpl' => null
          public 'article_tpl' => null
      1 => 
        object(stdClass)[18]
          public 'id' => string '56' (length=2)
          public 'parentid' => string '55' (length=2)
          public 'catname' => string '公司动态' (length=12)
          public 'type' => string '1' (length=1)
          public 'picture' => null
          public 'describe' => null
          public 'recommend' => string '0' (length=1)
          public 'domain' => null
          public 'hits' => string '0' (length=1)
          public 'listorder' => string '0' (length=1)
          public 'arturl' => null
          public 'caturl' => null
          public 'skipurl' => null
          public 'model_id' => string '1' (length=1)
          public 'title' => null
          public 'keywords' => null
          public 'description' => null
          public 'cathtml' => string '0' (length=1)
          public 'arthtml' => string '0' (length=1)
          public 'head_tpl' => null
          public 'footer_tpl' => null
          public 'list_tpl' => null
          public 'article_tpl' => null
      2 => 
        object(stdClass)[19]
          public 'id' => string '57' (length=2)
          public 'parentid' => string '55' (length=2)
          public 'catname' => string '行业资讯' (length=12)
          public 'type' => string '1' (length=1)
          public 'picture' => string '' (length=0)
          public 'describe' => string '栏目描述栏目描述栏目描述栏目描述栏目描述栏目描述栏目描述' (length=84)
          public 'recommend' => string '1' (length=1)
          public 'domain' => string '' (length=0)
          public 'hits' => string '0' (length=1)
          public 'listorder' => string '0' (length=1)
          public 'arturl' => string '' (length=0)
          public 'caturl' => string '' (length=0)
          public 'skipurl' => string '' (length=0)
          public 'model_id' => string '1' (length=1)
          public 'title' => string '' (length=0)
          public 'keywords' => string '' (length=0)
          public 'description' => string '' (length=0)
          public 'cathtml' => string '0' (length=1)
          public 'arthtml' => string '0' (length=1)
          public 'head_tpl' => string '' (length=0)
          public 'footer_tpl' => string '' (length=0)
          public 'list_tpl' => string '' (length=0)
          public 'article_tpl' => string '' (length=0)