Heim >Backend-Entwicklung >PHP-Tutorial >thinkphp二维数组怎么去除重复并将重复值相加

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

PHPz
PHPzOriginal
2016-06-06 20:29:582750Durchsuche

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中文网

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn