本帖最后由 jeffers_qiu 于 2009-07-20 01:53:35 编辑

解决方案 »

  1.   

    $A = array(
        0=> array(6,col=>b,4,7),
        1=> array(2,col=>b,5,8),
        2=> array(4,col=>c,5,6),
        3=> array(3,col=>b,6,9),
        4=> array(9,col=>c,7,8),
    );
    $B = array();
    foreach($A as $key => $value){
        $B[$value['col']][] = $value;
    }
    print_r($B);
      

  2.   

    $A = array(
        0=> array(6,col=>b,4,7),
        1=> array(2,col=>b,5,8),
        2=> array(4,col=>c,5,6),
        3=> array(3,col=>b,6,9),
        4=> array(9,col=>c,7,8),
    );
    $B = array();
    foreach($A as $key => $value){
        $B[$value['col']][] = $value;
    }
    print_r($B);
      

  3.   

    我上面代码就可以了。不过
    $B中的key   是col的值,到时候随便改下就可以了。
      

  4.   

    $A = array(
        0=> array(6,'col'=>'b,4,7'),
        1=> array(2,'col'=>'b,5,8'),
        2=> array(4,'col'=>'c,5,6'),
        3=> array(3,'col'=>'b,6,9'),
        4=> array(9,'col'=>'c,7,8')
    );
    $B = array();
    foreach($A as $k=>$v)
    {
    $key = explode(',',$v['col']);
    if(!$B[$key[0]]) $B[$key[0]] = array();
    array_push($B[$key[0]],$v);
    }
    echo "<pre/>";
    print_r(array_values($B));
      

  5.   


    $A = array(
        0=> array(6,'col'=>'b,4,7'),
        1=> array(2,'col'=>'b,5,8'),
        2=> array(4,'col'=>'c,5,6'),
        3=> array(3,'col'=>'b,6,9'),
        4=> array(9,'col'=>'c,7,8')
    );
    $arrTemp = array();
    foreach($A as $key=>$value)
    {
    $arrTemp[$value['col'][0]][] = $value;

    print_r(array_values($arrTemp));
      

  6.   

    谢谢楼上3位大侠~在我的CSDN处女贴上就下温柔抓印;) 以后咱们就是自己人了
    1楼chenping1984的办法最后加上array_values($B)就完美了;
    4楼foolbirdflyfirst,$A不是我给的$A,col值不用做字符串分割的
    5楼jakey9826办法和1楼大致一样,补齐了array_values
      

  7.   

    只能根据你提供的例子进行思考,你给的例子col值类似'a,2,4'这样,谁也不知道col值会不会出现'abc,2,4'这样的情况,字符串分割可以保证正确性,所以就给你考虑进去了。