2016-07-04 66 views
2

我需要计算一个键/变量显示在数组数组中的次数。需要找到具有特定键的数组阵列

数组是这样的:

Array 
{ 
[3] => Array 
{ 
[type]=>group 
[name]=>3st group 
[newmsgs]=>3 
} 
[2] => Array 
{ 
[type]=>group 
[name]=>2nd group 
} 
[1] => Array 
{ 
[type]=>group 
[name]=>1st group 
[newmsgs]=>1 
} 
} 

我找的运行和由于只有2个阵列具有与价值“newmsgs”键返回2的功能。

我试过array_count_values()没有成功,还尝试了一个简单的count(),我知道它有一个很小的工作机会。

任何想法如何做到这一点?

回答

1

提取想要的列并计数:

$count = count(array_column($array, 'newmsgs')); 
+0

谢谢AbraCadaver,这个作品也完美无瑕!只需测试一下,看看这个工作是否看起来比u_mulder简单一些,并且它也可以工作。 谢谢! – Yohio

+1

我不是AbraCadaver_da_boss? :-( – AbraCadaver

+1

我会说AbraCadaver_da_king:D – Yohio

1

驴友array_filtersizeof

echo sizeof(array_filter($array, function($v) { return !empty($v['newmsgs']); })); 

array_filter将回到那里newmsgs键设置元素的数组,sizeof会得到这个返回数组的大小。

+0

u_mulder,你应该更新你的名字u_mulder_da_boss。 这工作完美,很优雅! 谢谢! – Yohio