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

时间:2014-01-23 14:34:01

标签: 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'=>array(1,2)),
    array('element1'=>'b','element2'=>array(2,3)),
    );

1 个答案:

答案 0 :(得分:0)

$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)),
   )