php - 如何对包含laravel中的集合的数组进行排序?
问题描述
[
{
"clubName": "FC Nightmare",
"win": 0,
"played": 1,
"draw": 0,
"lose": 1,
"gs": 1,
"ga": 2,
"gd": -1,
"points": 0
},
{
"clubName": "Manchester City",
"win": 1,
"played": 1,
"draw": 0,
"lose": 0,
"gs": 3,
"ga": 2,
"gd": 1,
"points": 3
},
{
"clubName": "Inter Milan",
"win": 0,
"played": 1,
"draw": 0,
"lose": 1,
"gs": 2,
"ga": 3,
"gd": -1,
"points": 0
},
{
"clubName": "AC Milan",
"win": 1,
"played": 1,
"draw": 0,
"lose": 0,
"gs": 2,
"ga": 1,
"gd": 1,
"points": 3
}
]
我有这个数组。我想按点对这个数组进行排序。如何在 laravel 中做到这一点?
我试过这个:
array_multisort(array_column($point_table,'points'),$point_table);
但它不起作用..
解决方案
如果您使用标签建议的 Laravel,则可以使用集合来操作这样的数组。例如:
$array = collect($array)->sortBy('count')->reverse()->toArray();
或者
使用 array_multisort()
$array = array(
46 =>
array (
'name' => 'HSR Layout',
'url' => 'hsr-layout',
'count' => 2,
),
37 =>
array (
'name' => 'Electronic City',
'url' => 'electronic-city',
'count' => 3,
)
);
$price = array();
foreach ($array as $key => $row)
{
$count[$key] = $row['count'];
}
array_multisort($count, SORT_DESC, $array);
print_r($array);
推荐阅读
- flutter - Flutter 构建发布 apk 没有健全的 null 安全性?
- reactjs - 如何从 Formik 输入值向表中添加新行?
- java - 从 google 获取超过 1000 个索引链接
- reactjs - WEBPACK_IMPORTED_MODULE_5__.default.firestore.collection 不是
- angular - Keyloak-angular (https://github.com/mauriciovigolo/keycloak-angular) - 注册 - CORS 错误
- reactjs - 防止按下退出按钮
- azure - Azure AppConfiguration(在本地使用 DefaultAzureCredential)不返回任何键
- flutter - 下载开始后立即在 Android 上出现 Flutter_downloader HardCrash
- javascript - 如何将 inlineformset 工厂与 javascript 一起使用?
- android - 在适配器 android studio 中显示和隐藏菜单