php - 如何在laravel php中按日期对json数组进行排序
问题描述
您好我正在使用 PHP laravel 生成 JSON 响应。这是我的函数,它将生成此响应
public function getReport($employeeCode){
$postData = Input::all();
$companyName = $postData['company_name'];
$date = $postData['date'];
$month = $postData['month'];
$year = $postData['year'];
$visitReason = $postData['visit_reason'];
(database query applied here which gets data in $report)
$countReportSize = count($report);
$allDatas = [];
for($i = 0; $i < $countReport; $i++)
{
$date = $report[$i]->day;
$month = $report[$i]->month;
$year = $report[$i]->year;
$desc = $report[$i]->description;
$countDateSize = explode(',',$date);
$countMonth = explode(',',$month);
$countYear = explode(',',$year);
$countDescription = explode(',',$desc);
for($j= 0; $j < count($countDateSize); $j++)
{
$data = [
'inquiry_id' => $report[$i]->inquiry_id,
'date' => $countDateSize[$j].'-'.$countMonth[$j].'-'.$countYear[$j],
];
array_push($allDatas, $data);
}
}
return response()->json($allDatas);
}
现在这个函数将生成下面给出的 JSON 响应,问题是如何按日期排序?
[
{
"inquiry_id": "2",
"date": "18-03-2018"
},
{
"inquiry_id": "2",
"date": "15-03-2018"
}
]
我需要按日期对这个回复进行排序,如下所示:
[
{
"inquiry_id": "2",
"date": "15-03-2018"
},
{
"inquiry_id": "2",
"date": "18-03-2018"
}
]
任何帮助将不胜感激。提前致谢。
解决方案
使用 $myArray = json_decode($json_info, true); 将 JSON 转换为数组;
然后使用
$date = array_column($myArray, 'date');
array_multisort($date, SORT_ASC, $myArray);
现在 $myArray 将按日期升序排序,
推荐阅读
- bash - awk:从 nmap 输出中提取端口
- c - **pointer 和 &pointer 作为函数参数有什么区别?
- snowflake-cloud-data-platform - 从另一个工作表中看不到雪花表
- arrays - 从数组中删除具有特定值的元素
- laravel - 在 laravel7 中使用关系获取数据时出现问题
- mysql - 如何在 MySQL 上制作一个从 SQL 查询日志的应用程序?
- python - 如何在python中的条件下过滤或提取或分组与其他2列进行比较的值列表
- c++ - 控制 Boost.Test 源位置格式的输出
- java - 在java中反转字符串字符
- typescript - 在“tsconfig”或“jsconfig”中设置“experimentalDecorators”选项以删除此警告。对于子文件夹