加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php数组找到重复项,总结并删除重复项

发布时间:2020-12-13 17:25:32 所属栏目:PHP教程 来源:网络整理
导读:我有一个数组: Array ([0] = Array ( [setid] = 2 [income] = 100 )[1] = Array ( [setid] = 2 [income] = 120 )[2] = Array ( [setid] = 3 [income] = 700 )) 我需要找到相同setid的托管,将他们的收入加起来并删除重复的托管 – 最后它应该是这样的: Arra
我有一个数组:

Array 
(
[0] => Array
    (
        [setid] => 2
        [income] => 100
    )

[1] => Array
    (
        [setid] => 2
        [income] => 120
    )

[2] => Array
    (
        [setid] => 3
        [income] => 700
    )
)

我需要找到相同setid的托管,将他们的收入加起来并删除重复的托管 – 最后它应该是这样的:

Array
(
[0] => Array
    (
        [setid] => 2
        [income] => 220
    )

[1] => Array
    (
        [setid] => 3
        [income] => 700
    )
)

有人知道我的问题的一个sophosticated解决方案或我必须走很长的路,并手动完成每一步?

谢谢和问候

解决方法

只需创建一个新的数组,您可以使用setid作为密钥来快速执行该数组.并在最后重新索引数组.

$result = array();
foreach ($array as $val) {
    if (!isset($result[$val['setid']]))
        $result[$val['setid']] = $val;
    else
        $result[$val['setid']]['income'] += $val['income'];
}
$result = array_values($result); // reindex array

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读