我是一名PHP初学者,整天都在寻找解决方案,但没有成功。如何结合多维数组中的数组和计数值?
我有以下的数组:
$data = Array
(
[0] => Array
(
[my_id] => 1
[my_post_id] => 123
[my_status] => 1
[my_rating] => 5
)
[1] => Array
(
[my_id] => 2
[my_post_id] => 123
[my_status] => 1
[my_rating] => 4
)
[2] => Array
(
[my_id] => 3
[my_post_id] => 123
[my_status] => 1
[my_rating] => 5
)
[3] => Array
(
[my_id] => 4
[my_post_id] => 456
[my_status] => 1
[my_rating] => 5
)
[4] => Array
(
[my_id] => 5
[my_post_id] => 456
[my_status] => 1
[my_rating] => 3
)
)
,想用相同的“my_post_id”合并数组和计数“my_status”和“my_rating”,其具有相同的“my_post_id”的值。
最后,我想有以下数组:
$data = Array
(
[0] => Array
(
[my_post_id] => 123
[my_status] => 3
[my_rating] => 14
)
[1] => Array
(
[my_post_id] => 456
[my_status] => 2
[my_rating] => 8
)
)
我能得到独特的“my_post_id”阵列,下面的代码,但我无法找出如何计算其他值。
$out = array();
foreach($data as $row) {
$out[$row['my_post_id']] = $row;
}
$array = array_values($out);
任何帮助将不胜感激。
丹尼尔
我我确信你可以用'if(i sset($ out [$ row ['my_post_id']])){...}' –
仍然不明白你的'merge'是如何工作的... – Baba
看看MiDo和我的帖子在下面。两者都向您展示增加(总和)值的方法。唯一真正的区别是他将post_id作为关键字段,而我的增量则像你所要求的那样不相关。我认为如果你重新考虑你的要求,他对你的最终结果更有意义。 – Dave