php - 使用 PHP 按多个键对 JSON 进行排序
问题描述
我一直在这个网站上搜索对我的 JSON 数据进行排序的最佳方式。不幸的是,我只能找到显示基本 JSON 数据集排序的答案。通常,这些答案仅按一条信息排序。
我希望能够对更复杂的 JSON 数据集进行排序,并通过多个键/列进行排序,其中第一个排序键优先于第二个排序键,依此类推。
{
'files' : [
{
'type a' : [
{
'20200101' : [
{
'title' : *some_title*
},
{
'title' : *some_title*
}
]
},
{
'20200102' : [
{
'title' : *some_title*
},
{
'title' : *some_title*
}
]
}
],
'type b' : [
{
'20200101' : [
{
'title' : *some_title*
},
{
'title' : *some_title*
}
],
'20200102' : [
{
'title' : *some_title*
},
{
'title' : *some_title*
}
]
}
]
}
]
}
我想以多种方式对上述 JSON 数组进行排序。
- 键入然后日期然后标题
- 日期然后输入标题
在过去,我一直在使用array_multisort()
更基本的 JSON 数据,类似于:
$json[$n] = array(
'file':*sample*,
'date':*sample*,
'title':*sample*
);
array_multisort(
array_column($json, 'file'), SORT_ASC,
array_column($json, 'date'), SORT_ASC,
array_column($json, 'title'), SORT_ASC,
$json
);
我相信(如果我错了,请纠正我)将我的数据存储在类似于问题顶部的 JSON 中会更好。这可能会提供一些性能提升,如果没有,它至少会是最佳实践。
我怎样才能最好地按多个键或值对 JSON 数据进行排序?
解决方案
推荐阅读
- java - Android 应用程序在检查 REST API 后收到推送通知
- sql-server - 在 SQL Server 中创建 PK
- javascript - 未处理 IDBDatabase 事务错误
- regex - htaccess | 我怎么会允许一个'。在 API URL 中?
- css - 如何使用引导程序在垂直导航菜单旁边添加箭头?
- python - Django REST Framework] AssertionError:类序列化程序缺少“元”属性
- javascript - ReactRefreshWebpackPlugin 和 WebpackPluginServe 的问题 - 更改仅在页面刷新后可见
- amazon-web-services - 如何避免 Permission denied (publickey) SSH key (Windows)
- flutter - Flutter 搭建自制地图
- javascript - Discord.js 生成碎片错误:碎片仍在生成