数组value里面有很多个数组,格式如下:
$value=
array (
  0 => 
  array (
    'testid' => '98',
    'testname' => '大类',
    'stestid' => '101',
    'stestname' => '大类1',
  ),
  1 => 
  array (
    'testid' => '98',
    'testname' => '大类',
    'stestid' => '102',
    'stestname' => '大类2',
  ),
  2 => 
  array (
    'testid' => '97',
    'testname' => '小类',
    'stestid' => '103,
    'stestname' => '小类1',
  ),
  1 => 
  array (
    'testid' => '97',
    'testname' => '小类',
    'stestid' => '104',
    'stestname' => '小类2',
  )
)
如果用php循环显示成如下格式:
大类(98):大类1(101)、大类2(102)
小类(97):小类1(103)、小类2(104)谢谢!

解决方案 »

  1.   

    如果只是对这个来说的话,我有个算法,就是在foreach在定义两个数组,list1,list2在循环里面第一次判断是否存在89那个对应的名字,如果不存在就给它定义一个这样的这样的名字,和大类的名字,再把大类1,大类1对应的数学放到list1[]里面,等到二次循环判断是否等于89如果登录,不在给89和大类赋值,再把大类二和102放到list1[]这样第一个然后判断如果不相等在做个类似于list1那样的判断,把值放到list2里面,这样就出来你想要的那两个数组了,这个方法,是根据楼主这个题想的,有些麻烦,不过能实现
      

  2.   

    数组里面有很多个数组,不止题中的4个。而且有点听不懂,能不能给个PHP代码。谢谢,我正在学习阶段
      

  3.   

    分组就按指定分组键的值聚类foreach($value as $t) $res[$t['testid']][] = $t;
    var_export($res);array (
      98 => 
      array (
        0 => 
        array (
          'testid' => '98',
          'testname' => '大类',
          'stestid' => '101',
          'stestname' => '大类1',
        ),
      ),
      97 => 
      array (
        0 => 
        array (
          'testid' => '97',
          'testname' => '小类',
          'stestid' => '104',
          'stestname' => '小类2',
        ),
        1 => 
        array (
          'testid' => '97',
          'testname' => '小类',
          'stestid' => '103',
          'stestname' => '小类1',
        ),
      ),
    )
      

  4.   


    <?php
    $value=
    array (
    array (
    'testid' => '98',
    'testname' => '大类',
    'stestid' => '101',
    'stestname' => '大类1',
    ),
    array (
    'testid' => '98',
    'testname' => '大类',
    'stestid' => '102',
    'stestname' => '大类2',
    ),
    array (
    'testid' => '97',
    'testname' => '小类',
    'stestid' => '103',
    'stestname' => '小类1',
    ),
    array (
    'testid' => '97',
    'testname' => '小类',
    'stestid' => '104',
    'stestname' => '小类2',
    )
    );$result = array();foreach($value as $v)
    {
    !array_key_exists($v['testid'], $result) ? ($result[$v['testid']] = array('name'=>$v['testname'], 'sub'=>array(array('id'=>$v['stestid'], 'name'=>$v['stestname'])))) : array_push($result[$v['testid']]['sub'], array('id'=>$v['stestid'], 'name'=>$v['stestname']));
    }
    foreach($result as $k => $v)
    {
    $cc = $v['name']."(". $k . "):";
    foreach($v['sub'] as $val)
    {
    $cc .= $val['name']."(".$val['id']."),";
    }
    echo rtrim($cc, ","), "\n";
    }
    大类(98):大类1(101),大类2(102)
    小类(97):小类1(103),小类2(104)
    这是一层的,多层就要复杂了