<分区>
我想在 php 中根据值的出现次数对数组进行排序。
Array(Switzerland,Switzerland,Switzerland,Switzerland,Italy,Italy,Germany,France,France,France)
像这样...
Array(Switzerland,Switzerland, Switzerland,Switzerland,France,France,France,Italy,Italy,Germany,)
<分区>
我想在 php 中根据值的出现次数对数组进行排序。
Array(Switzerland,Switzerland,Switzerland,Switzerland,Italy,Italy,Germany,France,France,France)
像这样...
Array(Switzerland,Switzerland, Switzerland,Switzerland,France,France,France,Italy,Italy,Germany,)
最佳答案
对于 PHP7:
<?php
$couuntries = [
'Switzerland',
'Italy',
'Switzerland',
'France',
'Switzerland',
'Italy',
'Germany',
'France',
'France',
'Switzerland',
];
$counts = array_count_values($couuntries);
usort($couuntries, function($one, $second) use ($counts) {
return $counts[$second] <=> $counts[$one];
});
print_r($couuntries);
输出:
Array
(
[0] => Switzerland
[1] => Switzerland
[2] => Switzerland
[3] => Switzerland
[4] => France
[5] => France
[6] => France
[7] => Italy
[8] => Italy
[9] => Germany
)
关于php - 如何根据值的实例数对数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50528683/