$array[0] = array('ip'=>"192.168.1.5","iplong"=>33333);
$array[1] = array('ip'=>"192.168.1.6","iplong"=>555455);
$array[2] = array('ip'=>"192.168.1.5","iplong"=>45678);$array这个数组 如何合并成下面的数组?$array[0] = array('ip'=>"192.168.1.5","iplong"=>"33333,45678");
$array[1] = array('ip'=>"192.168.1.6","iplong"=>555455);

解决方案 »

  1.   

    $array[0] = array('ip'=>"192.168.1.5","iplong"=>33333);
    $array[1] = array('ip'=>"192.168.1.6","iplong"=>555455);
    $array[2] = array('ip'=>"192.168.1.5","iplong"=>45678);
    $hash = array();
    foreach( $array as $k=>$v)
    {
    if(isset($hash[$v['ip']]))
    {
    $array[$hash[$v['ip']]]["iplong"]  .= ",".$v['iplong'];
    unset( $array[$k] );continue;
    }
    $hash[$v['ip']] = $k;
    }
    print_r($array);
      

  2.   

    如果数组从数据库出来的,可以用 group_contact拼接iplong字段
      

  3.   

    $array[0] = array('ip'=>"192.168.1.5","iplong"=>33333);
    $array[1] = array('ip'=>"192.168.1.6","iplong"=>555455);
    $array[2] = array('ip'=>"192.168.1.5","iplong"=>45678);$last=$array[2]["iplong"];
    unset($array[2]);
    $array[0]["iplong"]=$array[0]["iplong"].",".$last;
    print_r($array);