>백엔드 개발 >PHP 튜토리얼 >thinkphp二维数组怎么去除重复并将重复值相加

thinkphp二维数组怎么去除重复并将重复值相加

PHPz
PHPz원래의
2016-06-06 20:29:582781검색

thinkphp二维数组去除重复并将重复值相加的方法:首先创建一个PHP文件;然后通过“foreach”语句对指定二维数组进行遍历;最后使用迭代器去除重复并将重复值相加即可。

thinkphp二维数组怎么去除重复并将重复值相加

thinkphp二维数组怎么去除重复并将重复值相加?

问题:

$arr = array(
    array('id' => 123, 'name' => '张三', 'amount'=>'1'),
    array('id' => 123, 'name' => '李四', 'amount' => '1'),
    array('id' => 124, 'name' => '王五', 'amount' => '1'),
    array('id' => 125, 'name' => '赵六', 'amount' => '1'),
    array('id' => 126, 'name' => '赵六', 'amount' => '2'),
    array('id' => 126, 'name' => '赵六', 'amount' => '2')
);

如果数组内的name相等,最终保留一个,但是amount的值相加。

处理方法:

对数组进行一次遍历就可以了。

$arr = array(
    array('id' => 123, 'name' => '张三', 'amount'=>'1'),
    array('id' => 123, 'name' => '李四', 'amount' => '1'),
    array('id' => 124, 'name' => '王五', 'amount' => '1'),
    array('id' => 125, 'name' => '赵六', 'amount' => '1'),
    array('id' => 126, 'name' => '赵六', 'amount' => '2'),
    array('id' => 126, 'name' => '赵六', 'amount' => '2')
);
 
$new = array();
 
foreach($arr as $row){
    if(isset($new[$row['name']])){
        $new[$row['name']]['amount'] += $row['amount'];
    }else{
        $new[$row['name']] = $row;
    }
}
 
print_r($new);

使用迭代器即可,非常方便。

更多相关技术知识,请访问PHP中文网

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.