直接代码如下,出现了重复的记录。即后面把前面的值都加起来了,怎么回事啊?
                  foreach($ctlist as $val)
                  { 
                      echo "<ul>";
                      $culist = classuserlist($val['id']);
                      foreach($culist as $cu)
                      {
                           echo "<li><a href='__ROOT__/admin.php/Coursetrack/index/userid/".$cu['userid']."' target='iframepage'>".$cu['bbname']."</a></li>";
                      }
                      echo "</ul>";
                  }  

解决方案 »

  1.   

    $ctlist的结构是?看你的程序是个三维数组?
      

  2.   

    贴出数组结构,$ctlist  和 $culist
      
      

  3.   

    你的程序不是二维的,我上面都说的不对,是四维了,如果确实是二维你就该重新考虑一下,我看到的就是:
    $ctlist[未知key1]['id'][未知key2]['userid']
    $ctlist[未知key1]['id'][未知key2]['bbname']
      

  4.   

    得先打印$ctlist 和 $culist看看
      

  5.   

    $val = $ctlist[未知key1];
    $culist = $ctlist[未知key1]['id'];
    $cu = $ctlist[未知key1]['id'][未知key2];然后输出 $cu['userid'] = $ctlist[未知key1]['id'][未知key2]['userid'] 了
      

  6.   

    $ctlist:array(1) {
      [0] => array(16) {
        ["id"] => string(1) "3"
        ["classno"] => string(5) "C1202"
        ["week"] => string(1) "3"
        ["teacherid"] => string(2) "45"
        ["createdate"] => string(10) "2011-04-08"
        ["createuser"] => string(1) "1"
        ["modifytime"] => string(19) "2011-04-06 19:12:02"
        ["modityuser"] => string(1) "1"
        ["intro"] => string(4) "3周"
        ["classroom"] => string(1) "S"
        ["status"] => string(6) "上课"
        ["special"] => NULL
        ["thedate"] => string(10) "2011-04-12"
        ["classid"] => string(1) "2"
        ["type"] => NULL
        ["ist"] => string(1) "0"
      }
    }$culist:
    array(3) {
      [0] => array(41) {
        ["userid"] => string(4) "2248"
        ["firstname"] => NULL
        ["ctype"] => string(1) "1"
        ["lastname"] => NULL
        ["username"] => string(0) ""
        ["password"] => NULL
        ["CustomerName"] => string(9) "小明"
      }
      [1] => array(41) {
        ["userid"] => string(4) "2404"
        ["firstname"] => NULL
        ["ctype"] => string(1) "1"
        ["lastname"] => NULL
        ["username"] => string(0) ""
        ["password"] => NULL
        ["CustomerName"] => string(9) "小红"
      }
    }
      

  7.   


      echo "<ul>";
                  foreach($ctlist as $val)
                      { 
                        
                          $culist = classuserlist($val['id']);
                          foreach($culist as $cu)
                          {
                               echo "<li><a href='__ROOT__/admin.php/Coursetrack/index/userid/".$cu['userid']."' target='iframepage'>".$cu['bbname']."</a></li>";
                          }
                          
                      }  
    echo "</ul>";
    是不是这样?
      

  8.   

    还真是个4维数组这样的话
    foreach语法没发现错误,问题可能在 $culist = classuserlist($val['id']); 这个自定义函数里面
      

  9.   

    首先保证$ctlist这里的内容不要重复,就是班级的记录没有重复的!classuserlist 这里获取班级成员时,要剔除重复(学生)记录!
      

  10.   

    问题已解决,用另外一方法解决,虽然不明白为什么,但能解决也就行了~//当前班级名单列表
    //这这个函数会出现重复记录
    function classuserlist($classtrack_id)
    {
        $customer = M("customer");
    $courseuser = M("courseuser");
    $userid = $courseuser->where("classtrack_id=".$classtrack_id)->field('userid')->select();
    $userid=implodeArray($userid);
        $culist = $customer->where("userid in (".$userid.")")->select();
        foreach ($culist as $key => $val) {
            $inarray[$key] = $val;
        }
        return $inarray;
    }
    //这个不会重复记录,虽然只出来一个USERID,但我在模板页里面再用一个函数读出会员名单来了
    function classuserlist($classtrack_id)
    {
        $customer = M("customer");
    $courseuser = M("courseuser");
    $userid = $courseuser->where("classtrack_id=".$classtrack_id)->field('userid')->select();
        foreach ($userid as $key => $val) {
            $inarray[$key] = $val;
        }
        return $inarray;
    }望知道原因的说一下让下次知道怎么解决...