Array
(
    [0] => Array
        (
            [user_id] => 120
            [sub_id] => 45
        )    [1] => Array
        (
            [user_id] => 113
            [sub_id] => 44
        )    [2] => Array
        (
            [user_id] => 113
            [sub_id] => 46
        ))
数组是这样的,请问我想当user_id是相同点时候,把sub_id合并到一起输出,能做到吗?谢谢各位了

解决方案 »

  1.   

    可以,根据user_id排序,然后或者输出成新的合并的数组,或输出的时候合并输出.
      

  2.   

    try...
    ===========================
    $array = Array
    (
    0 => Array
    (
    'user_id' => 120,
    'sub_id' => 45
    )
    ,
    1 => Array
    (
    'user_id' => 113,
    'sub_id' => 44
    )
    ,
    2 => Array
    (
    'user_id' => 113,
    'sub_id' => 46
    )
    ) ;
    echo "<pre/>";
    foreach($array as $k=>$v)
    {
    $u = trim($v['user_id']);
    if( isset($t[$u]) )
    {
    $array[$t[$u]]['sub_id'] .=','.$v['sub_id'];
    unset($array[$k]);
    continue;
    }
    else{
    $t[$u] = $k;
    }
    }
    print_r($array);
      

  3.   

    脑袋都想破了,经过楼上那段代码提醒,终于搞定了function gl_array($a){
    $new_array=array();
    //print_r($a);
    foreach($a as $v){
    if($new_array[$v['user_id']]){
    $new_array[$v['user_id']]['sub_id']=$new_array[$v['user_id']]['sub_id'].$v['sub_id'];
    }
    else{
    $new_array[$v['user_id']]['sub_id']=$v['sub_id'];
    }
    }
    return ($new_array);
    }