Array
(
[0] => Array
(
[count] => 9
[slug] => concediat-reangajat
)
[1] => Array
(
[count] => 7
[slug] => salarii-5togo
)
[2] => Array
(
[count] => 10
[slug] => piata-fortei-munca
)
[3] => Array
(
[count] => 3
[slug] => productivitate-angajati
)
[4] => Array
(
[count] => 1
[slug] => stocare-date
)
[5] => Array
(
[count] => 4
[slug] => infrastructura-leadership
)
[6] => Array
(
[count] => 2
[slug] => airbnb-uber
)
[7] => Array
(
[count] => 5
[slug] => salarii-productivitate
)
[8] => Array
(
[count] => 2
[slug] => ceo-resurse-umane
)
[9] => Array
(
[count] => 3
[slug] => hr-ceo
)
[10] => Array
(
[count] => 1
[slug] => burnout-tratament
)
[11] => Array
(
[count] => 1
[slug] => angajati-vanzarea-afacerii
)
[12] => Array
(
[count] => 1
[slug] => job-linkedin
)
[13] => Array
(
[count] => 1
[slug] => primul-faliment
)
[14] => Array
(
[count] => 3
[slug] => salariu-mic
)
[15] => Array
(
[count] => 1
[slug] => varsta-programatori
)
)
i want to sort this array based on decending order of count
此数组包含数据数组 计数和一个子变量 我想根据计数的降序对整个数组进行排序 我该如何分类..任何人都可以帮助我 我试过usort,ksort等 编程新手 没有解决方案 请帮我 我试图解决 但它没有工作 有人可以解决吗?
答案 0 :(得分:2)
usort
将为您服务。
usort($array, function($a, $b) {
return $b['count'] - $a['count']; # $a['count'] - $b['count']; will sort asc
});
工作演示: https://3v4l.org/SUa2F
或者简单地使用arsort($array);
工作演示: https://3v4l.org/bnWuo
答案 1 :(得分:0)
按计数降序反向排序(对于相似计数,名称则升序):
<?php
$items =
[
['count'=>2, 'name' => 'Janitor'],
['count'=>5, 'name' => 'Plumber'],
['count'=>1, 'name' => 'Scrubber'],
['count'=>3, 'name' => 'Winkle Picker'],
['count'=>3, 'name' => 'Window Cleaner']
];
usort($items, function($a, $b) {
$compare = $b['count'] <=> $a['count'];
if($compare == 0)
$compare = $a['name'] <=> $b['name'];
return $compare;
});
var_export($items);
输出:
array (
0 =>
array (
'count' => 5,
'name' => 'Plumber',
),
1 =>
array (
'count' => 3,
'name' => 'Window Cleaner',
),
2 =>
array (
'count' => 3,
'name' => 'Winkle Picker',
),
3 =>
array (
'count' => 2,
'name' => 'Janitor',
),
4 =>
array (
'count' => 1,
'name' => 'Scrubber',
),
)