PHP array_count_values与多维数组 [英] PHP array_count_values with multidimensional array
本文介绍了PHP array_count_values与多维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这个数组:
Array (
[0] => stdClass Object ( [id] => 123 [name] => Alex )
[1] => stdClass Object ( [id] => 124 [name] => John )
[2] => stdClass Object ( [id] => 123 [name] => Alex )
[3] => stdClass Object ( [id] => 124 [name] => John)
[4] => stdClass Object ( [id] => 126 [name] => Paul )
)
我想输出如下:
Array (
[0] => Array ( [id] => 123 [name] => Alex [count] = 2 )
[1] => Array ( [id] => 124 [name] => John [count] = 2 )
[2] => Array ( [id] => 126 [name] => Paul [count] = 1 )
)
我尝试使用 array_count_values($ array)
,但是没有工作。
I tried using array_count_values($array)
, but it doesn't work.
有什么办法解决这个问题吗?
Any ideas how to solve this?
推荐答案
您可以简单地使用 array_map
以及简单的 foreach
之类的
You can simply use array_map
along with simple foreach
like as
foreach(array_map("get_object_vars",$arr) as $val){
$hash = $val['id'];
if(isset($result[$hash])){
$result[$hash]['count'] += $result[$hash]['count'];
}else{
$result[$hash] = $val;
$result[$hash]['count'] = 1;
}
}
print_r(array_values($result));
输出:
Array
(
[0] => Array
(
[id] => 123
[name] => Alex
[count] => 2
)
[1] => Array
(
[id] => 124
[name] => John
[count] => 2
)
[2] => Array
(
[id] => 126
[name] => Paul
[count] => 1
)
)
这篇关于PHP array_count_values与多维数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文