我的计数有问题,请帮助我。
我有一个数组:
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);
关于php - 在php中计算数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27267235/