解决方案 »

  1.   

    你的目的是什么?
    是把 数组1 变成 数组2的样子
    还是从 数组1 或 数组2 中抽取 [deal_id] == 297 的成员到结果数组?
      

  2.   

    就是将数组中deal_id相等的数组合并到一个大数组中,问题就是这样,谢谢
      

  3.   

    $arr = Array
    (
        '0' => Array
            (
                'id' => 1099,
                'deal_id' => 297,
                "'user_id'" => 854,
                "'user_name'" => 'jquery123',
                "money" => 100,
                "create_time" => 1395116590,
                "is_repay" => 0,
                "cate_id" => 7,
                "profit" => 103.62
            ),    "1" => Array
            (
                "id" => 1100,
                "deal_id" => 297,
                "user_id" => 854,
                "user_name" => 'jquery123',
                "money" => 100,
                "create_time" => 1395117228,
                "is_repay" => 0,
                "cate_id" => 7,
                "profit" => 103.62
            ),    "2" => Array
            (
                "id" => 1101,
                "deal_id" => 298,
                "user_id" => 854,
                "user_name" => 'jquery123',
                "money" => 100,
                "create_time" => 1395117490,
                "is_repay" => 0,
                "cate_id" => 7,
                "profit" => 103.62
            )
    );
    $input = array();
    $index = array();//用于存放deal_id 进行判断
    foreach ($arr as $key => $value) {
    if(!in_array($value['deal_id'], $index)){
    array_push($index, $value['deal_id']);
    array_push($input,$value);
    }else{
    $index = array_search($value['deal_id'], $index);
    array_push($input[$index], $value);
    }
    }
    var_dump($index,$input);
      

  4.   

    $ar = array (
      array (
        'id' => '1099',
        'deal_id' => '297',
        'user_id' => '854',
        'user_name' => 'jquery123',
        'money' => '100',
        'create_time' => '1395116590',
        'is_repay' => '0',
        'cate_id' => '7',
        'profit' => '103.62',
      ),
      array (
        'id' => '1100',
        'deal_id' => '297',
        'user_id' => '854',
        'user_name' => 'jquery123',
        'money' => '100',
        'create_time' => '1395117228',
        'is_repay' => '0',
        'cate_id' => '7',
        'profit' => '103.62',
      ),
      array (
        'id' => '1101',
        'deal_id' => '298',
        'user_id' => '854',
        'user_name' => 'jquery123',
        'money' => '100',
        'create_time' => '1395117490',
        'is_repay' => '0',
        'cate_id' => '7',
        'profit' => '103.62',
      ),
    );
    $res = array();
    foreach($ar as $v) $res[$v['deal_id']][] = $v;
    array_walk($res, function(&$r) {
      if(count($r) == 1) $r = current($r);
    });
    $res = array_values($res);
    print_r($res);Array
    (
        [0] => Array
            (
                [0] => Array
                    (
                        [id] => 1099
                        [deal_id] => 297
                        [user_id] => 854
                        [user_name] => jquery123
                        [money] => 100
                        [create_time] => 1395116590
                        [is_repay] => 0
                        [cate_id] => 7
                        [profit] => 103.62
                    )            [1] => Array
                    (
                        [id] => 1100
                        [deal_id] => 297
                        [user_id] => 854
                        [user_name] => jquery123
                        [money] => 100
                        [create_time] => 1395117228
                        [is_repay] => 0
                        [cate_id] => 7
                        [profit] => 103.62
                    )        )    [1] => Array
            (
                [id] => 1101
                [deal_id] => 298
                [user_id] => 854
                [user_name] => jquery123
                [money] => 100
                [create_time] => 1395117490
                [is_repay] => 0
                [cate_id] => 7
                [profit] => 103.62
            ))
      

  5.   

    foreach ($arr as $key => $value) {

    if(!in_array($value['deal_id'], $index)){

    array_push($index, $value['deal_id']);

    $input[count($input)][] = $value;
    }else{
    $index = array_search($value['deal_id'], $index);
    $input[$index][] = $value;
    }
    }