gpt4 book ai didi

php - 在php中计算数组中的元素

转载 作者:搜寻专家 更新时间:2023-10-31 22:02:04 24 4
gpt4 key购买 nike

我的计数有问题,请帮助我。

我有一个数组:

Array
(
[0] => Array
(
[message] => non
[msg_cnt] => 1
)

[1] => Array
(
[message] => oui
[msg_cnt] => 1
)

[2] => Array
(
[message] => non
[msg_cnt] => 1
)

[3] => Array
(
[message] => oui
[msg_cnt] => 1
)
[4] => Array
(
[messsage] => yuop
[msg_cnt] => 1

)

现在我想得到:

Array
(
[0] => Array
(
[message] => non
[msg_cnt] => 2
)

[1] => Array
(
[message] => oui
[msg_cnt] => 2
)
[2] => Array
(
[message] => youp
[msg_cnt] => 1

)

我尝试了我的代码,但没有得到好的结果:

for($i=0;$i<count($aResultQuery);$i++){
if($aResultQuery[$i]['messsage'] == $aResultQuery[$i+1]['messsage']){
$aResultQuery[$i+1]['msg_cnt']++;
unset($aResultQuery[$i]);
}
}

请帮帮我。让我知道,这是否是获取此数组的解决方案?

最佳答案

您可以使用另一个容器来合并计数,为每个计数设置一个初始值,然后在循环的其余部分将它们相加。示例:

$count = array();
foreach($aResultQuery as $values) {
if(!isset($count[$values['message']])) {
$count[$values['message']] = array('message' => $values['message'], 'msg_cnt' => 0);
}
$count[$values['message']]['msg_cnt'] += $values['msg_cnt'];
}

$count = array_values($count); // simple reindex

echo '<pre>';
print_r($count);

Sample Output

关于php - 在php中计算数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27267235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com