首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php中的加法数组值

问php中的加法数组值
EN

Stack Overflow用户
提问于 2017-10-19 10:55:23
回答 2查看 178关注 0票数 1

这是我的阵列。这些数据来自MySQL数据库。如何使用PHP进行和值处理。这个数组中有很多人的名字。

代码语言:javascript
复制
    Array
(
    [1] => Array
        (
            [NAME] => Zoni
            [MARK] => 41
        )

    [2] => Array
        ( 
            [NAME] => Zoni
            [MARK] => 12
        )

    [3] => Array
        (   
            [NAME] => Nari
            [MARK] => 37
        )

    [4] => Array
        (
            [TITLE] => Nari
            [MARK] => 51
        )

    [5] => Array
        (
            [TITLE] => Lesi
            [MARK] => 64
        )

    [6] => Array
        (
            [TITLE] => Lesi
            [MARK] => 28
        )
)

我试过这样的代码:

代码语言:javascript
复制
$sum = 0; 
foreach ($rv as $item) { 
    $sum += $item[MARK]; 
}

我想要这样的结果。如何为此结果编写PHP代码。我希望使用php显示如下结果。

代码语言:javascript
复制
Zoni = 53
Nari = 88
Lesi = 92
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-19 17:05:59

根据问题中的数组,我称它为$ar。

代码语言:javascript
复制
for ($i = 1; $i <= count($ar); $i++) {
    $uni = array_unique($ar[$i]);
    foreach ($uni as &$v) {
        $add[$v][] = $uni["MARK"];
        unset($uni["MARK"]);
        $sum[$v] = array_sum($add[$v]);
    }
}

print_r($sum);

会有这样的输出:

代码语言:javascript
复制
Array ( 
    [Zoni] => 53 
    [Nari] => 88 
    [Lesi] => 92 
)

array_unique()排除二重叶。array_sum()用于计数数组中的MARK值,并以相同的NAME值作为引用。unset()删除MARK值,以便只保留名称和标记摘要。结果将分配给数组$sum。

演示

票数 1
EN

Stack Overflow用户

发布于 2017-10-19 11:15:43

@B 001的答案是好的,但你会得到注意,因为索引没有定义。为了避免这种情况,您应该检查索引,如果没有定义,就创建它。

代码语言:javascript
复制
foreach($array as $arr){
        isset($result[$arr["NAME"]]) ? $result[$arr["NAME"]] += $arr["MARK"] : $result[$arr["NAME"]] = $arr["MARK"];
}

foreach($result as $key => $value){
    echo $key." = ".$value."\n";
}

编辑:添加要打印的代码

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46828312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档