I have a problem with my count, please help me.
I have an array :
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
)
Now I want to get :
Array
(
[0] => Array
(
[message] => non
[msg_cnt] => 2
)
[1] => Array
(
[message] => oui
[msg_cnt] => 2
)
[2] => Array
(
[message] => youp
[msg_cnt] => 1
)
I tried my code but I didn't get a good result :
for($i=0;$i<count($aResultQuery);$i++){
if($aResultQuery[$i]['messsage'] == $aResultQuery[$i+1]['messsage']){
$aResultQuery[$i+1]['msg_cnt']++;
unset($aResultQuery[$i]);
}
}
Please help me. Let me know, if the is a solution to fetch this array?
You could use another container to merge the counts, set an initial value of each one of them, them sum them up the rest of the loop. Example:
$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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With