php合并多个数组元素保持不变,一个不同元素的数组

php合并多个数组元素保持不变,一个不同元素的数组,php,arrays,array-merge,Php,Arrays,Array Merge,帮助: 数组格式如下: $arr=array( array('element1'=>'a','element2'=>1), array('element1'=>'b','element2'=>2), array('element1'=>'a','element2'=>2), array('element1'=>'b','element2'=>3), ); 需要

帮助:

数组格式如下:

    $arr=array(
        array('element1'=>'a','element2'=>1),
        array('element1'=>'b','element2'=>2),
        array('element1'=>'a','element2'=>2),
        array('element1'=>'b','element2'=>3),
        );
需要合成,如何改变它,如:

$arr=array(
    array('element1'=>'a','element2'=>array(1,2)),
    array('element1'=>'b','element2'=>array(2,3)),
    );
后果
你做了什么尝试?谢谢你的回答,我需要仔细看看才能理解你的想法,我会再次处理好自己,再次感谢你!
$new = array();
foreach ($arr as $key => $value) {
    $new[$value['element1']][] = $value['element2'];
}
$new2 = array();
foreach($new as $k=>$v){
    $new2[] = array('element1'=>$k,'element2'=>$v);
}
print_r($new2);
array(
    array('element1' => 'a', 'element2' => array(0 => 1, 1 => 2)),
    array('element1' => 'b', 'element2' => array(0 => 2, 1 => 3)),
   )