输入:
$result = Array
(
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "y",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "y",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "y",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "y",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "y",
),
Array
(
"name" => "ლუკა ქურასბედიანი",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "z",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "z",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "z",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "z",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "y",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "y",
),
Array(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "z",
),
);我希望按频率对元素排序(按"parrent_club_hash_id“排序)。
有11-x 7-y和5-z,所以我想要这样的输出:
$result = Array
(
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "ლუკა ქურასბედიანი",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "x",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "y",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "y",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "y",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "y",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "y",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "y",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "y",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "z",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "z",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "z",
),
Array
(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "z",
),
Array(
"name" => "",
"squad_member_hash_id" => "",
"parrent_club_hash_id" => "z",
),
);发布于 2018-07-17 12:09:15
首先得到你的值的频率:
$values = array_count_values(array_column($result, 'parrent_club_hash_id'));然后使用自定义排序按频率排序:
usort($result, function ($x, $y) use ($values) {
// $y is first because you need descending sort
return $values[$y["parrent_club_hash_id"]] - $values[$x["parrent_club_hash_id"]];
});示例:http://sandbox.onlinephpfunctions.com/code/6265192e677641afbc21e899d97f252c14b5402f
https://stackoverflow.com/questions/51380778
复制相似问题