PHP中数组中元素的动态计数频率

PHP中数组中元素的动态计数频率,php,python,Php,Python,我想说: $array = array(1, 5, 2, 3, 3, 4, 5, 1) 我想转换这个数组,把值作为键,把它的频率作为值 输出应如下所示: $array = array ( "1" => 2, "2" => 1, "3" => 2, "4" => 1, "5" => 2 ) 我知道如何在python中实现这一点。但是我必须用PHP来做。我用python用以下代

我想说:

$array = array(1, 5, 2, 3, 3, 4, 5, 1)
我想转换这个数组,把值作为键,把它的频率作为值 输出应如下所示:

$array = array (
         "1" => 2,
         "2" => 1,
         "3" => 2,
         "4" => 1,
         "5" => 2
)
我知道如何在python中实现这一点。但是我必须用PHP来做。我用python用以下代码实现了这一点: python代码:

d = {}
for j in tweets: // tweet is a array of integers as given above $array
d[j] = d.get(j, 0) + 1 // This will make a dictionary with the values in the array as key and its frequency as value of the dictionary .. Get() dynamically increase the value
请帮忙

$newArray = array_count_values( $array );
在这里看到它的作用:


然后使用
ksort
,按键对其进行排序:

ksort( $newArray );

请参见此处的操作:

array\u count\u values
仅在php中注意您的Python解决方案可以使用
collections.defaultdict
或使用
d.setdefault(j,0)+=1
这是忍者编辑。。。你的第一个循环到哪里去了?有没有php没有的函数?输出应该被排序。。顺便问一下,先生,您也要咖啡吗?