多维数组使用 PHP 查找和更新值 [英] Multidimensional Array Find and Update The Value using PHP

查看:43
本文介绍了多维数组使用 PHP 查找和更新值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我找不到适合此主题的标题(帮帮我).我无法描述这个问题,所以这里是我的问题的例子.

I can't get suitable title for this thread (help me). I can't describe this problem so here the example of my problem.

我的数组:

Array ( [0] => Array ( [answer] => a [score] => 3 )
[1] => Array ([answer] => b [score] => 4 ) 
[2] => Array ( [answer] => h [score] => 3) 
[3] => Array ( [answer] => a [score] => 4 ))
...

我想得到这样的输出:

Array ( [0] => Array ( [answer] => a [score] => 7 )
[1] => Array ([answer] => b [score] => 4 ) 
[2] => Array ( [answer] => h [score] => 3))
...

您可以看到索引键 0 中的 score 子键发生了变化.这是因为索引键 0 和 3 的答案子键中有两个值a".由于两者的总和(3+4).真的我对此没有想法,对不起我的英语并感谢您的帮助.随意发表评论.:)

You can see a change of score subkey in index key 0. This is happen because there is two value 'a' in answer subkey from index key 0 and 3. The score changed to 7 because of the sum of both (3+4). Really I don't have an idea for this, sorry for my english and thanks for help. Feel free to comment. :)

推荐答案

$merged = array();

foreach ($array as $answer) {
    if (isset($merged[$answer['answer']])) {
        $merged[$answer['answer']]['score'] += $answer['score'];
    } else {
        $merged[$answer['answer']] = $answer;
    }
}

var_dump($merged);

这篇关于多维数组使用 PHP 查找和更新值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆